我一直在制作我的第一个Meteor.js项目,这个项目基本上是一个简单的博客,而且我认为我不能理解Router.route()
内正在发生的事情。
Router.route('/category/:_category', {
template: 'category',
layoutTemplate: 'ApplicationLayout',
waitOn: function() {
return Meteor.subscribe('categorizedPosts', this.params._category);
},
data: {
posts: Posts.find(),
// THE LINE BELOW IS THE PROBLEM
category: this.params._category
}
});
此代码在Uncaught TypeError: Cannot read property '_category' of undefined
内的指定行显示posts
错误。没有那条线,我的路线工作正常,虽然我丢失了category
数据。
事实上,我知道return Meteor.subscribe('categorizedPosts', this.params._category);
内的行waitOn()
工作正常,这意味着它正确抓取this.params._category
。
我从答案中略微改变了我的代码。
data: function() {
return {
posts: Posts.find(),
category: this.params._category
}
}
答案 0 :(得分:1)
改变这一点。
data:function(){
var category = this.params._category
console.log(category)
return Posts.find()
}
这里我们将data context
更改为对象到函数