私のアプリケーションは、次のモデルがあります:Ember.js:すべての子モデルのプロパティの合計を計算
私はすべてのApp.User.tweetsUnreadの合計を計算し、それが自動的にアプリを更新することができますどのようにApp.Store = DS.Store.extend({
revision: 11,
adapter: 'DS.FixtureAdapter'
});
App.List = DS.Model.extend({
name: DS.attr('string'),
users: DS.hasMany('App.User'),
tweetsUnread: function(){
/////////////////////////////////////////
// Code to dynamically calculate the sum
// of tweetsUnread property of all
// App.User that are related to this list
/////////////////////////////////////////
}
});
App.User = DS.Model.extend({
screenName: DS.attr('string'),
tweets: DS.hasMany('App.Tweet'),
tweetsUnread: function(){
// TODO: check if this is the correct way to do it
return this.get('tweets').get('length');
}.property('[email protected]'),
list: DS.belongsTo('App.List')
});
App.Tweet = DS.Model.extend({
text: DS.attr('string'),
user: DS.belongsTo('App.User')
});
.List.tweetsUnread?
感謝を参照してください使用トリックをやっ減らすことであろう(トンを追加するためのビットを_edited彼は正しいparams_) –
最近のバージョンのEmber(少なくとも〜1.1まで)では、初期値はreduceメソッドの第2引数です。コールバックが最初です。 http://emberjs.com/api/classes/Ember.Enumerable.html#method_reduce – joelcox
このヒントのThx。私はそれに応じて投稿を更新しました。 – mavilein