所以下面是我在做什麼只是一個粗略的想法,集合是嵌套的,我需要調用getMax()
時this.collection.get('players')
改變骨幹聽嵌套模型/集合?
module.exports = LeadersCollectionView = Marionette.CompositeView.extend({
className: 'live-stats',
template: require('../../../templates/leaders/live-stats.hbs'),
initialize: function() {
this.listenTo(this.collection, 'change', this.render);
//this.listenTo(this.collection.get('players'), 'change', this.render);
},
getMax : function(attribute) {
console.log('getMax called')
var home = this.collection.get('5368dcc1227a937829b2cb4a').players.models;
var away = this.collection.get('5368dcd9227a937829b2cb4c').players.models;
leaders = new PlayersCollection(home.concat(away))
return leaders.max(function(leader) {
return leader.get(attribute);
});
},
templateHelpers:function(){
return {
maxPoints: this.getMax('points').get('player_name')
}
},
itemView: leadersView,
appendHtml: function(collectionView, itemView){
collectionView.$('.live-data .created-teams').append(itemView.el);
}
});
我使用骨幹關係,然後決定放棄它,現在我想我可能會再次需要它,但希望有一個更簡單的方法。
因此,雖然有可能是一個更好的方式來寫getMax()
功能(顯然靜態團隊傳遞截至目前)我真的不能使用它,如果我不能更新getMax()
當點的球員模型中的變化。
所以我的問題我可以聽一個沒有骨幹關係的嵌套模型的變化,我會怎麼做?
好吧我肯定對要回其中的一個,無論扶着我怎麼寫的'GetMax的()'功能,我將仍然需要以某種方式聽取變化所以是絕對需要的,要更新的功能。我認爲我使用DeepModel時感覺不舒服,直到我沒有看到有理由,現在我有一個,謝謝! –
我認爲deepmodel會更少的配置和更輕量級我看看,我試圖保持最小和乾淨的東西。 –