[英]Ember.js binding to computed property in Ember.Object from controller doesn't work
現在有一段時間,我正在使用Ember js,到目前為止我喜歡它。 不幸的是我遇到了一個問題。
我試圖基於Ember對象中的屬性顯示和更新控制器中的屬性。
到jsbin的鏈接在下面
該對象表示一個具有兩個值和每個值的計數的項目。 更改屬性的計數后,將計算出該項目的新總數(countA * valueA + countB * valueB)。 我在示例中針對4個項目執行此操作。
每當其中任何一項的計數更改時,我還希望更改4個項目的總計。 我通過在控制器中定義一個屬性來做到這一點。 該屬性似乎在初始加載時顯示,但在更新計數時不會更新。
我認為將值綁定到Ember Object可以解決問題,但是我似乎無法正常工作。
任何幫助將不勝感激。
您當前正在將totalBoth
變量綁定到類定義,而不是類的實例,這將無法正常工作。 您要做的是觀察任何實例中的更改。
查看此更新的JSBin: http : //jsbin.com/cuqitufo/6/edit
訣竅是使用@each屬性獲取聚合數據 。
因此,您不再需要綁定,只需觀察每個實例的App.TypeNumbers.@each.calculatedTotal
: App.TypeNumbers.@each.calculatedTotal
:
totalBoth : function(){
var total = 0;
App.TypeNumbers.forEach(function(item){
console.log( item.get('calculatedTotal') );
total += item.get('calculatedTotal');
});
return total;
}.property( 'App.TypeNumbers.@each.calculatedTotal' ),
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.