3

私のEmberJSアプリケーションでは、「@ each.score.votes」のようなものを観察したり、総投票数を計算したり、ソートされたリストを返したりするユースケースがあります。

'@each.score'は別のEmberオブジェクトです。

ただし、「@ each.property.another_property」を監視しようとするオブザーバー(または計算されたプロパティ)は、まったく起動しません。こちらのhttp://jsfiddle.net/jqTRu/2/をご覧ください

[投票の変更]をクリックして投票を変更しますが、total_votesは再計算されません。ただし、人を追加すると、発砲します。

これはバグですか、それとも私が意図したことを達成するためのより賢明な方法がありますか?ありがとう。

編集:ピーターはそれがバグだと指摘しました。クリストファーの修正は機能します(ここでhttp://jsfiddle.net/kazim/jqTRu/3/を見ることができます)。

4

2 に答える 2

4

これは、パスに「@each」を含む連鎖オブザーバーを設定することと関係があります。基本的に、「@ each.property」は配列として評価されるため、ネストされた配列の状況が発生します。

'@each.property。@each.some_other_property'が機能するはずです。

于 2012-04-04T04:04:17.467 に答える
3

https://github.com/emberjs/ember.js/issues/541によると、これはバグです。

于 2012-04-03T03:58:20.643 に答える