Emberjs-obj-mod-decl-obsrvr
提供:Dev Guides
オブザーバーを宣言するオブジェクトモデル
プロトタイプの拡張機能なしで_Ember.observer_メソッドを使用して、インラインオブザーバーを定義できます。
_Ember.observer_メソッドを使用してインラインオブザーバーを定義する構文は次のとおりです。
App.ClassName = Ember.Object.extend ({
ComputedPropertyName: Ember.observer('ComputedPropertyNames', function() {
//do the stuff
})
});
クラス定義の外側
_addObserver()_メソッドを使用して、クラス定義外のオブジェクトにオブザーバーを追加します。
構文は次のように指定できます-
ClassName.addObserver('ComputedPropertyNames', function() {
//do the stuff
});
例
次の例では、_Ember.observer_メソッドを使用してインラインオブザーバを指定します-
import Ember from 'ember';
export default function() {
var Person = Ember.Object.extend ({
Name: null,
//Defining the Details1 and Details2 computed property function
Details1: Ember.computed('Name', function() {
//get the Name value
var Name = this.get('Name');
//return the Name value
return Name;
}),
Details2: Ember.observer('Details1', function() {})
});
//initializing the Person details
var person = Person.create ({
Name: 'Steve',
});
person.set('Name', 'Jhon');
document.write('Name is Changed To: ' + person.get('Details1'));
}
今_app.js_ファイルを開き、ファイルの先頭に次の行を追加します-
import outsideclassdefinitions from './outsideclassdefinitions';
ここで、 outsideclassdefinitions は、「outsideclassdefinitions.js」として指定され、「app」フォルダーの下に作成されたファイルの名前です。
次に、エクスポートの前に、下部の継承された「outsideclassdefinitions」を呼び出します。 _outsideclassdefinitions.js_ファイルに作成されたoutsideclassdefinitions関数を実行します-
outsideclassdefinitions();
出力
エンバーサーバーを実行すると、次の出力が表示されます-