Javascript 如何嵌套空格键标记?
我有个问题。我的数据库中有一组文档,我希望根据是否设置了与该文档对应的会话变量来显示每个文档 为了说明我的问题,让我举一个简单的例子Javascript 如何嵌套空格键标记?,javascript,meteor,spacebars,meteor-helper,Javascript,Meteor,Spacebars,Meteor Helper,我有个问题。我的数据库中有一组文档,我希望根据是否设置了与该文档对应的会话变量来显示每个文档 为了说明我的问题,让我举一个简单的例子 Meteor.myTemplate.helpers({ stuff: [ {name: 'item1'}, {name: 'item2'} {name, 'item3'}, {name: 'item4'}, {name: 'item5'} ], isActive: function (itemName) {
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的上下文是一种
东西
,那么这个名称应该对助手可用:
Template.myTemplate.helpers({
isActive:函数(itemName){
return Session.get(this.name+'IsActive');
}
});
您的模板如下所示:
{{#each stuff}}
{{#if isActive}}
{{> someTemplate}}
{{/if}}
{{/each}}
由于isActive的上下文是内容
,因此此.name
应可供帮助者使用:
Template.myTemplate.helpers({
isActive:函数(itemName){
return Session.get(this.name+'IsActive');
}
});
您的模板如下所示:
{{#each stuff}}
{{#if isActive}}
{{> someTemplate}}
{{/if}}
{{/each}}
由于isActive的上下文是内容
,因此此.name
应可供帮助者使用:
Template.myTemplate.helpers({
isActive:函数(itemName){
return Session.get(this.name+'IsActive');
}
});
您的模板如下所示:
{{#each stuff}}
{{#if isActive}}
{{> someTemplate}}
{{/if}}
{{/each}}
由于isActive的上下文是内容
,因此此.name
应可供帮助者使用:
Template.myTemplate.helpers({
isActive:函数(itemName){
return Session.get(this.name+'IsActive');
}
});
您的模板如下所示:
{{#each stuff}}
{{#if isActive}}
{{> someTemplate}}
{{/if}}
{{/each}}
如果您使用会话跟踪活动与非活动,则可能会很棘手。您是否能够将iActive作为属性存储到文档中?通过这种方式,您可以执行类似于返回项目的操作。查找({isActive:true})
和每个
将只返回标记为isActive的文档。感谢您的建议!我有一个多选下拉列表,根据人们选择的选项,其他选项应该出现在另一个多选下拉列表中。为了使您的建议生效,我可以使用稍微复杂一些的方法,即使用transform
选项和find
过滤结果。当助手无法访问适当的上下文时,此技巧非常有用!如果您使用会话跟踪活动与非活动,则可能会很棘手。您是否能够将iActive作为属性存储到文档中?通过这种方式,您可以执行类似于返回项目的操作。查找({isActive:true})
和每个
将只返回标记为isActive的文档。感谢您的建议!我有一个多选下拉列表,根据人们选择的选项,其他选项应该出现在另一个多选下拉列表中。为了使您的建议生效,我可以使用稍微复杂一些的方法,即使用transform
选项和find
过滤结果。当助手无法访问适当的上下文时,此技巧非常有用!如果您使用会话跟踪活动与非活动,则可能会很棘手。您是否能够将iActive作为属性存储到文档中?通过这种方式,您可以执行类似于返回项目的操作。查找({isActive:true})
和每个
将只返回标记为isActive的文档。感谢您的建议!我有一个多选下拉列表,根据人们选择的选项,其他选项应该出现在另一个多选下拉列表中。为了使您的建议生效,我可以使用稍微复杂一些的方法,即使用transform
选项和find
过滤结果。当助手无法访问适当的上下文时,此技巧非常有用!如果您使用会话跟踪活动与非活动,则可能会很棘手。您是否能够将iActive作为属性存储到文档中?通过这种方式,您可以执行类似于返回项目的操作。查找({isActive:true})
和每个
将只返回标记为isActive的文档。感谢您的建议!我有一个多选下拉列表,根据人们选择的选项,其他选项应该出现在另一个多选下拉列表中。为了使您的建议生效,我可以使用稍微复杂一些的方法,即使用transform
选项和find
过滤结果。当助手无法访问适当的上下文时,此技巧非常有用!