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();

出力

エンバーサーバーを実行すると、次の出力が表示されます-

Ember.js外部クラス定義