レンダリング中のプロパティを変更すると、テンプレートが更新されないのはなぜですか? documentationには{{each}}
がバインディング対応であると書かれていますが、私が気付いていないことは明らかです。Ember、プロパティの変更時にテンプレートが更新されない
ハンドルバーのすべての機能と同様に、{{#each}}ヘルパーはバインディング対応です。 アプリケーションが新しい項目を配列に追加する、または項目を削除する場合、 DOMはコードを記述する必要なく更新されます。
ここでは私のコントローラは、私は次のコードを持っている私のテンプレートで
App.MaintemplateController = Ember.Controller.extend({
alist: ['foo', "bar"],
actions : {
addel: function(){
this.alist.push('xpto');
console.log(this.alist);
}
}
});
です。
データが正しくレンダリングされます。ボタンをクリックすると、要素がプロパティに追加されますが、テンプレートは更新されません。どうして?データと同期させるにはどうすればよいですか?
これは私の質問に答え、この問題を解決します。しかし、データ型に関係なく機能するソリューションがあることを期待していました。 単純な配列の代わりに複雑なオブジェクトがあり、内部プロパティの一部を更新するためにassignementを使用する必要がある場合はどうすればよいですか? – Pico
@Pico、私は助けることができてうれしい。もっと複雑なオブジェクトの場合は、オブジェクトツリーを歩いてプロパティを設定します: 'this.get( 'complexObject.childOne.childTwo')。set( 'name'、 'foo'); – intuitivepixel
はい、ありがとうございます。 – Pico