簡體   English   中英

Ember.js從控制器綁定到Ember.Object中的計算屬性無效

[英]Ember.js binding to computed property in Ember.Object from controller doesn't work

現在有一段時間,我正在使用Ember js,到目前為止我喜歡它。 不幸的是我遇到了一個問題。

我試圖基於Ember對象中的屬性顯示和更新控制器中的屬性。

到jsbin的鏈接在下面

jsbin

該對象表示一個具有兩個值和每個值的計數的項目。 更改屬性的計數后,將計算出該項目的新總數(countA * valueA + countB * valueB)。 我在示例中針對4個項目執行此操作。

每當其中任何一項的計數更改時,我還希望更改4個項目的總計。 我通過在控制器中定義一個屬性來做到這一點。 該屬性似乎在初始加載時顯示,但在更新計數時不會更新。

我認為將值綁定到Ember Object可以解決問題,但是我似乎無法正常工作。

任何幫助將不勝感激。

您當前正在將totalBoth變量綁定到類定義,而不是類的實例,這將無法正常工作。 您要做的是觀察任何實例中的更改。

查看此更新的JSBin: http//jsbin.com/cuqitufo/6/edit

訣竅是使用@each屬性獲取聚合數據

因此,您不再需要綁定,只需觀察每個實例的App.TypeNumbers.@each.calculatedTotalApp.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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM