Javascript 每个模型都没有在模板中列出模型
我正在使用Ember.RSVP.hash在同一路径中创建不同的模型,我成功地在存储中创建了模型记录,我可以在控制台中看到数据。 问题是我只能在模板中列出这两个模型中的一个。(repos名称,但不是提交消息) 这是密码 路线 模板Javascript 每个模型都没有在模板中列出模型,javascript,ember.js,ember-data,ember-cli,jsbin,Javascript,Ember.js,Ember Data,Ember Cli,Jsbin,我正在使用Ember.RSVP.hash在同一路径中创建不同的模型,我成功地在存储中创建了模型记录,我可以在控制台中看到数据。 问题是我只能在模板中列出这两个模型中的一个。(repos名称,但不是提交消息) 这是密码 路线 模板 <ul> {{#each model.repos}} <li>{{name}}</li> {{/each}} </ul> <ul> {{#
<ul>
{{#each model.repos}}
<li>{{name}}</li>
{{/each}}
</ul>
<ul>
{{#each model.commits}}
<li>{{message}}</li>
{{/each}}
</ul>
{{{#每个模型.repos}
- {{name}}
{{/每个}}
{{{each model.commits}
- {{message}}
{{/每个}}
所以问题一定在这里
{{#each model.commits}}
<li>{{message}}</li>
{{/each}}
{{{#each model.commits}
{{message}}
{{/每个}}
我做错了什么?正在复制问题。好的,所以问题出在您的
gitactivitesPromise
函数中。我已经修改了您的方法以使用Ember.RSVP.hash
:
var gitactivitiesPromise = function() {
return new Ember.RSVP.Promise(function (resolve) {
Ember.$.ajax(eventsAct, {
success: function(events) {
var result = [];
events.filter(function(event) {
return event.type == 'PushEvent';
}).forEach(function(item){
item.payload.commits.map(function(commit){
result.push(store.createRecord('commit', {
message: commit.message,
}));
});
});
resolve(result);
},
error: function(reason) {
reject(reason);
}
});
});
};
这允许您在模板中以这种方式访问消息
:
Commits:
<ul>
{{#each model.commits}}
<li>{{this.message}}</li>
{{/each}}
</ul>
提交:
{{{each model.commits}
- {{this.message}}
{{/每个}}
结果:
我不确定问题出在哪里,但我已经意识到在
jsbin
中有30个点用于提交,而您的模型只有26条记录(如Ember inspector中所示)。可能Ember.RSVP.hash
没有按预期工作。这可能是与您正在使用的Ember
版本相关的错误吗?我尝试只返回提交,而不返回RSVP
,它也会返回提交,因此问题在于您的函数gitactivitiesPromise
。因为我可以看到模型数据(附件中的控制台图像)我认为gitactivitiesPromise并不是你的记录被正确创建的问题,而是你返回的是整个事件列表,所以不,它是不正确的。将{{log}
帮助程序与提交一起使用,并亲自查看。
Commits:
<ul>
{{#each model.commits}}
<li>{{this.message}}</li>
{{/each}}
</ul>