2
モデルをコントローラにバインドしています。データをリロードしてビューを更新できるように、フィールドの変更を監視したいと思います。コントローラ内のバインドされたモデルの任意のフィールドの変化を観察
今私はこのようなものは本当に非DRYを持っている:
goalController = Ember.Object.create({
...
recompute: function() { save model, load recomputed data from server }
...
nameChanged: function() { this.recompute() }.observes('content.name'),
incomeChanged: function() { this.recompute() }.observes('content.income')
});
は、これを行うのエンバー-yの方法はありますか?
あなたはまた、としてそれを書くことができる必要があります: ' '' goalController = Ember.Object.create({ goalUpdated:機能(){// あなたのことを行う } .observes( "コンテンツ{名前、収入}。") }); '' ' – srt32
これは@ str32でも動作しますが、5+のプロパティを持つモデルでは実際には見苦しいかもしれません。私はモデルの中に 'alarm'プロパティを作成しました。そして、オブザーバの帽子は、コントローラの中から観測したいすべてのプロパティに対して、モデルの中のアラームをトグルします。最後に、 'model.alarm'を観察します。まだ醜いですが、コントローラはこのシナリオではモデルの内部構造を必要としません。 – robertodecurnex