在setupController
中,我有:
controller.set('products',
this.store.query('product', {
filter: { 'user-id': model.id },
page: { number: (params.page ? params.page : 1) }
})
);
返回:
{
"meta":{
"page":{
"number":1,
"size":10,
"total":17,
"prev":null,
"next":2,
"first":1,
"last":17
}
},
"data":[{..}, {..}]
}
在模板中,为什么{{log products.meta}}
会返回undefined
?
我在model hook
中执行相同的查询,meta
实际返回有效数据。 setupController
是否有特别的事情?
答案 0 :(得分:4)
您在代码中执行的操作是将控制器products
属性设置为从this.store.query
返回的承诺。在设置控制器上的属性之前,您希望解除该承诺:
this.store.query('product', {
filter: { 'user-id': model.id },
page: { number: (params.page ? params.page : 1) }
}).then(products => {
controller.set('products', products);
});

这将确保您实际分配给products
属性的是已解决的模型,而不是承诺。