Ember.js属于/与异步有很多关系

时间:2014-07-04 16:13:25

标签: javascript ember.js

所以我有一个模特

App.DailyEntry = DS.Model.extend({
    user_id: belongsTo('user'),
    entries: hasMany('Entry', {async: true}),
    daily_minutes: attr(),
    entry_day: attr(),
});

我想知道如何访问模板上的条目数组?

我在model context

时尝试过这样的事情

所以{{#each entries}}并不起作用..但是{{daily_minutes}}例如有效,所以我肯定是在正确的背景下。

我假设我需要等待promise完成,但我不确定如何在模板中编写该逻辑。

1 个答案:

答案 0 :(得分:0)

你实际上不需要等待模板中的承诺,Ember会为你处理。原因是它不是一个真正的承诺,它是一个承诺代理,意味着它假装是一个空数组,当承诺完成时,它会以一种方式填充数组,告知ember它已更新。

你想要制作这个小写字母(尽管ember可能是宽容的并允许它)

App.DailyEntry = DS.Model.extend({
    user_id: belongsTo('user'),
    entries: hasMany('entry', {async: true}),
    daily_minutes: attr(),
    entry_day: attr(),
});

如果你正在使用其余的序列化器(对于id 1),你的json响应应该是这样的。

{
   dailyEntry: {
     id: 1,
     user_id: 1,
     entries:[1,2,3],
     daily_minutes:'foo',
     entry_day:'bar'
   },
   users:[
    {
      id:1,
      name:'joe blow'
    }
   ]
}

示例:http://emberjs.jsbin.com/OxIDiVU/773/edit