当网址为/ company / martin时,以下代码无效:
this.route('scheduledTasks', {
path: '/company/:name',
data: {
items:
function(){
return scheduledTasks.find({company: this.params.name});
}
}
虽然这确实有效:
this.route('scheduledTasks', {
path: '/company/:name',
data: {
items:
function(){
return scheduledTasks.find({company: "martin"});
}
}
我尝试了几种解决方案,但似乎 this.params.name 不存在或无法访问?
答案 0 :(得分:5)
this.params.name
需要在路由的上下文中进行评估,我相信只有data
是函数而不是对象文字时才会发生。试试这个:
this.route('scheduledTasks', {
path: '/company/:name',
data: function() {
var company = this.params.name;
return {
items: function() {
return scheduledTasks.find({company: company});
}
};
}
});