gpt4 book ai didi

javascript - 为什么在模板中嵌套每个都不输出任何内容

转载 作者:搜寻专家 更新时间:2023-11-01 04:23:28 25 4
gpt4 key购买 nike

虽然这是按预期呈现的:

{{#each Items}}  // a collection
{{title}}
{{/each}}
{{#each types}} // another ollection
{{refId}}
{{/each}}

如果我把它放在一起:

{{#each Items}}  
{{title}}
{{#each types}}
{{refId}}
{{/each}}
{{/each}}

#each types 是空的。

模板助手:

Template.menuItems.helpers({
restMenuItems: function() {
return RestMenuItems.find({restRefId: this._id}, {sort:Template.instance().sort.get()});
},
restMenuSideItems: function() {
return RestMenuSideItems.find({restRefId: this._id}, {sort:Template.instance().sort.get()});
}
});

Template.menuItems.onCreated( function(){
this.subscribe('restMenuItems');
this.subscribe('restMenuSideItems');
});

还有一些模板代码:

{{#each restMenuItems}}
<div>
<select class="list-group select_side_addons">
{{#each restMenuSideItems}}
<option>{{restRefId}}</option>
{{/each}}
</select>
</div>
{{/each}}

即使将 {{#each restMenuSideItems}} 替换为 {{#each ../restMenuSideItems}},也不会出现任何内容。

怎么了?

最佳答案

因为 #each 子句将数据上下文更改为当前项。

如果您想要在每个 Items 中包含一个 types 列表,您可以使用 .. 获取父数据上下文。

如果 types 是父上下文的属性:

{{#each Items}}  
{{title}}
{{#each ../types}}
{{refId}}
{{/each}}
{{/each}}

如果 types 是模板助手,您可以将父上下文作为参数传递给它:

{{#each Items}}  
{{title}}
{{#each types ..}}
{{refId}}
{{/each}}
{{/each}}

并为您的查询使用上下文。

Template.myTemplate.helpers({

types: function(parent) {
// you now have the parent context here.
// use parent._id etc. where you used this._id in the
// "flat" version.
}
});

关于javascript - 为什么在模板中嵌套每个都不输出任何内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35113528/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com