我查看过发行说明,但找不到任何提及RSVP如何工作的变化,但是有没有理由不起作用?
在路线上,一个非常简单的模型:
model() {
return RSVP.hash({
posts: get(this, 'store').findAll('post')
});
}
并在模板中:
{{#each posts as |post|}}
{{post.title}}
{{/each}}
如果我使用标准模型调用(例如
),则不返回任何内容 model() {
return get(this, 'store').findAll('post');
}
与
{{#each model as |post|}}
{{post.title}}
{{/each}}
它按预期工作。我在之前的2.9.0上做了很多应用程序,从来没有遇到过这个问题......
有点困惑!答案 0 :(得分:1)
RSVP.hash
返回一个对象,其中每个键都包含来自promise的已解析值。
在您的情况下,这意味着model
将为{ posts: ... }
,因此您只是错过了.posts
属性链调用:
路线:
model() {
return RSVP.hash({
posts: get(this, 'store').findAll('post')
});
}
模板:
{{#each model.posts as |post|}}
{{post.title}}
{{/each}}
如果您想使用此模板
{{#each posts as |post|}}
{{post.title}}
{{/each}}
您可以在posts
中设置setupController
:
model() {
return RSVP.hash({
posts: get(this, 'store').findAll('post')
});
}
setupController(controller, model) {
controller.set('posts', model.posts);
}