如何嵌套空格键标签?
How Do I Nest Spacebars Tags?
我有问题。我的数据库中有一组文档,我想根据是否设置了与该文档对应的会话变量来显示每个文档。
为了说明我的问题,让我举一个简单的例子。
Meteor.myTemplate.helpers({
stuff: [
{name: 'item1'},
{name: 'item2'}
{name, 'item3'},
{name: 'item4'},
{name: 'item5'}
],
isActive: function (itemName) {
return Session.get(itemName + 'IsActive');
}
});
现在,我想做的是:
{{#each stuff}}
{{#if isActive {{name}} }}
{{> someTemplate}}
{{/if}}
{{/each}}
但是由于不支持这样的嵌套标签,所以我不能这样做。我正在寻找一种无需编写即可实现此目的的方法:
{{if isActive 'item1'}}{{> someTemplate}}{{/if}}
{{if isActive 'item2'}}{{> someTemplate}}{{/if}}
{{if isActive 'item3'}}{{> someTemplate}}{{/if}}
{{if isActive 'item4'}}{{> someTemplate}}{{/if}}
{{if isActive 'item5'}}{{> someTemplate}}{{/if}}
如果数据像上面的例子一样是静态的(而不是来自数据库游标),这是可能的,但在任何情况下都不实用,尤其是在有很多项目的情况下。此外,这种风格可能让每个程序员都感到畏缩。
由于 isActive 的上下文是 stuff
,因此 this.name
应该可供助手使用:
Template.myTemplate.helpers({
isActive: function(itemName) {
return Session.get(this.name + 'IsActive');
}
});
您的模板如下所示:
{{#each stuff}}
{{#if isActive}}
{{> someTemplate}}
{{/if}}
{{/each}}
我有问题。我的数据库中有一组文档,我想根据是否设置了与该文档对应的会话变量来显示每个文档。
为了说明我的问题,让我举一个简单的例子。
Meteor.myTemplate.helpers({
stuff: [
{name: 'item1'},
{name: 'item2'}
{name, 'item3'},
{name: 'item4'},
{name: 'item5'}
],
isActive: function (itemName) {
return Session.get(itemName + 'IsActive');
}
});
现在,我想做的是:
{{#each stuff}}
{{#if isActive {{name}} }}
{{> someTemplate}}
{{/if}}
{{/each}}
但是由于不支持这样的嵌套标签,所以我不能这样做。我正在寻找一种无需编写即可实现此目的的方法:
{{if isActive 'item1'}}{{> someTemplate}}{{/if}}
{{if isActive 'item2'}}{{> someTemplate}}{{/if}}
{{if isActive 'item3'}}{{> someTemplate}}{{/if}}
{{if isActive 'item4'}}{{> someTemplate}}{{/if}}
{{if isActive 'item5'}}{{> someTemplate}}{{/if}}
如果数据像上面的例子一样是静态的(而不是来自数据库游标),这是可能的,但在任何情况下都不实用,尤其是在有很多项目的情况下。此外,这种风格可能让每个程序员都感到畏缩。
由于 isActive 的上下文是 stuff
,因此 this.name
应该可供助手使用:
Template.myTemplate.helpers({
isActive: function(itemName) {
return Session.get(this.name + 'IsActive');
}
});
您的模板如下所示:
{{#each stuff}}
{{#if isActive}}
{{> someTemplate}}
{{/if}}
{{/each}}