我正在使用 Ember.RSVP.hash 在同一路由中创建不同的模型,我在商店中成功创建了模型记录,我可以在控制台中看到数据。
问题是我只能在我的模板中列出两个模型之一。(回购名称但不是提交消息)。
这里的代码
路线
var gitrepositoriesPromise = function() {
return Ember.$.ajax(reposUrl, {
success: function(repos) {
return repos.map(function(repo) {
return store.createRecord('repo', {
name: repo.name,
description: repo.description
});
});
},
error: function(reason) {
reject(reason);
}});
};
var gitactivitiesPromise = function() {
return Ember.$.ajax(eventsAct, {
success: function(events) {
return events.filter(function(event) {
return event.type == 'PushEvent';
}).forEach(function(item){
return item.payload.commits.map(function(commit){
return store.createRecord('commit', {
message: commit.message,
});
});
});
},
error: function(reason) {
reject(reason);
}});
};
return Ember.RSVP.hash({
commits: gitactivitiesPromise(),
repos: gitrepositoriesPromise()
});
模板
<ul>
{{#each model.repos}}
<li>{{name}}</li>
{{/each}}
</ul>
<ul>
{{#each model.commits}}
<li>{{message}}</li>
{{/each}}
</ul>
所以问题一定出在
{{#each model.commits}}
<li>{{message}}</li>
{{/each}}
我究竟做错了什么?这里的 jsbin重现了这个问题。