模板助手
模板助手是 Blaze 的重要组成部分,为模板提供业务逻辑和反应。重要的是要记住,模板助手实际上是反应性计算 ,只要它们的依赖关系发生变化就会重新运行。根据你的需要,可以全局定义模板帮助程序,也可以将作用域限定为特定模板。下面提供了每个模板助手定义方法的示例。
- 作用于单个模板的模板助手示例。
首先定义你的模板:
<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
},
});
- 全局模板助手的示例(此助手可以在任何模板中使用)
首先注册帮助者:
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>