所以我正在寻找关于模板和工作方式的一些理解。
我的movie.html文件中包含名为movies的模板,其中movie.js
帮助程序返回一个集合。
电影模板
<template name="movies">
<li>{{title}}</li>
</template>
JS助手
Template.body.helpers({
movie: function () {
return Movies.find({});
}
});
现在,我还有另一个模板可以执行其他一些操作,但其中一个模板是迭代此列表并显示它。
列出模板
<template name="list">
<ul>
{{#each movie}}
{{> movies}}
{{/each}}
</ul>
</template>
在这种情况下,该列表并不受数据欢迎。
但是,如果我将列表模板的内容移到模板之外,而只是在main.html
上移动,那就太棒了!
这就是我以前使用它的方式,但我已经开始使用Houston Admin Package使用Iron:Router
,因此我已将主页面(和唯一的页面)移动到模板中路由目的,打破了我的循环列表。
我确定我错过了一些小事,但我无法弄清楚。
答案 0 :(得分:2)
您正在使用列表模板上的{{#each movie}}
帮助器,因此将Template.helper
更改为list
模板
Template.list.helpers({
movie: function () {
return Movies.find({});
}
});
我们在<template name="list">
标记上调用此body
?你有类似的东西。
<body>
{{> list}}
</body>
或者你有类似的东西。
<template name="layout">
{{> yield}} <!-- since you are mentioning iron:route package -->
</template>
或者您有到该列表模板的路线?本地主机:3000 /列表
Router.route('/movie-lists', function () {
this.render('lists')
});
在这三种情况中,您应该将helper指向您调用它的模板(在本例中为列表模板)