Ember Computed PropertyとEmber Observerを使用するときのトピックをカバーするように思われた前の質問はありませんでした。 Computed Propertyは以前の属性を使用して新しい属性を生成し、実行ループで更新されることを理解します。Ember Computed Property対Ember Observer
一方、オブザーバは実行ループ外で更新され、Computedプロパティでも何かを見ることができます。それはあらゆるタイプの変化に反応します。
Person = Ember.Object.extend({
// these will be supplied by `create`
firstName: null,
lastName: null,
fullName: Ember.computed('firstName', 'lastName', function() {
return `${this.get('firstName')} ${this.get('lastName')}`;
}),
fullNameChanged: Ember.observer('fullName', function() {
// deal with the change
console.log(`fullName changed to: ${this.get('fullName')}`);
})
});
Emberのマニュアルには、オブザーバーが通常は過度に使用されていると記載されています。誰かがオブザーバーの正しい使い方のより良い例を挙げることができますか?それ以外に何を見ることができるのですか、誤った使用法と正しい使用法の効果は何ですか?
ソースコードは、燃えさしのドキュメントで見つけることができます:https://guides.emberjs.com/v2.3.0/object-model/observers/
@toruzaburo "オブザーバーを使って計算するべきものは、古典的なEmberの反パターンの1つです。"したがって、これを悪用する例は、計算されたプロパティが実際にそれを行うことができるときに、ストア内のアイテムの数を数えるオブザーバーになりますか? – Taztingo