Dar*_*ski 7 javascript templates if-statement meteor
这是模板结构
{{#each loadedEvents}}
{{#if future}}
{{#if timezone="Europe/Warsaw"}}
{{> event}}
{{/if}}
{{/each}}
Run Code Online (Sandbox Code Playgroud)
是否可以仅查看具有给定值的项目?第二个问题,如何结合这两个陈述:
{{#if future}} {{#if timezone="Europe/Warsaw"}}
Run Code Online (Sandbox Code Playgroud)
使用Template.registerHelper建立一个全球性的帮手.例如,要创建一个比较两个任意变量的帮助器:
Template.registerHelper('compare', function(v1, v2) {
if (typeof v1 === 'object' && typeof v2 === 'object') {
return _.isEqual(v1, v2); // do a object comparison
} else {
return v1 === v2;
}
});
Run Code Online (Sandbox Code Playgroud)
然后使用它:
{{#if compare timezone "Europe/Warsaw"}}
// Do something
{{/if}}
Run Code Online (Sandbox Code Playgroud)
您可以创建专用帮助程序来检查时区是否等于某个值:
Template.loadedEvents.helpers({
timezoneIs: function(timezone){
return this.timezone == timezone;
}
});
Run Code Online (Sandbox Code Playgroud)
如果要组合两个Spacebars {{#if}}块助手,再次创建一个在JS中执行测试的专用助手:
JS
Template.loadedEvents.helpers({
isFutureAndTimezoneIs: function(timezone){
return this.future && this.timezone == timezone;
}
});
Run Code Online (Sandbox Code Playgroud)
HTML
{{#each loadedEvents}}
{{#if isFutureAndTimezoneIs "Europe/Warsaw"}}
{{> event}}
{{/if}}
{{/each}}
Run Code Online (Sandbox Code Playgroud)