模板助手

模板助手是 Blaze 的重要組成部分,為模板提供業務邏輯和反應。重要的是要記住,模板助手實際上是反應性計算 ,只要它們的依賴關係發生變化就會重新執行。根據你的需要,可以全域性定義模板幫助程式,也可以將作用域限定為特定模板。下面提供了每個模板助手定義方法的示例。

  1. 作用於單個模板的模板助手示例。

首先定義你的模板:

<template name="welcomeMessage">
  <h1>Welcome back {{fullName}}</h1>
</template>

然後定義模板助手。這假設模板的資料上下文包含 firstName 和 lastName 屬性。

Template.welcomeMessage.helpers({
  fullName: function() {
    const instance = Template.instance();
    return instance.data.firstName + ' ' + instance.data.lastName
  },
});
  1. 全域性模板助手的示例(此助手可以在任何模板中使用)

首先註冊幫助者:

Template.registerHelper('equals', function(item1, item2) {
  if (!item1 || !item2) {
    return false;
  }

  return item1 === item2;
});

通過定義 equals 幫助器,我現在可以在任何模板中使用它:

<template name="registration">
  {{#if equals currentUser.registrationStatus 'Pending'}}
    <p>Don't forget to complete your registration!<p>
  {{/if}}
</template>