this.store.findRecord('book',params.id).then(function(tag){
tag.get('relatedBook').then(function(related){
var items = related.get('related'); //items = '1,2,3'
return related.store.query('book', {filter:{id: items} });
});
}),
控制台仍然返回localhost:8000 / books?filter [id] = 1,2,3,json api中仍有数据但是当我在模板中调用{{model}}时,它什么都不返回?
这里有什么问题?
答案 0 :(得分:-1)
您缺少两个返回语句。您的模型应如下所示:
model() {
return this.store.findRecord('book',params.id).then(function(tag){
return tag.get('relatedBook').then(function(related){
var items = related.get('related'); //items = '1,2,3'
return related.store.query('book', {filter:{id: items} });
});
}),
}
模型钩子希望你返回一个promise,然后当你chaining promises这样的时候你必须返回每个的结果,所以模型钩子的最终结果将是你的最后一个结果从链中返回承诺。