我刚刚更新到Meteor 1.0和最新版本的Iron-Router。
无论出于何种原因,当我将数据传递给仅包含单个文档的模板时,它就可以工作。但是当我尝试将多个文档传递给模板时,我得到一个空白屏幕。
//galleryRoute.js
Router.route('/:section', function() {
this.layout('Gallery', {
data: function() {
var data = { photos: photos.find({ path: { $regex: '/'+this.params.section +'/' } }) };
return data;
}
});
});
<template name="Gallery">
<div class="container">
{{#each photos}}
<div class="section-photo" style="background:url({{path}}) no-repeat center center; width:175px; height:175px; background-size:cover;"></div>
{{/each}}
</div>
</template>
想知道是否有人对此为何有任何想法?
答案 0 :(得分:-1)
在您的数据功能中,您正在访问this.params.section
。但是,this
是指您当前的范围,而不是路径,因此this.params
将是未定义的。尝试做这样的事情:
//galleryRoute.js
Router.route('/:section', function() {
var route = this;
this.layout('Gallery', {
data: function() {
var data = { photos: photos.find({ path: { $regex: '/'+route.params.section +'/' } }) };
return data;
}
});
});