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
过滤结果。当助手无法访问适当的上下文时,此技巧非常有用!