宣告觀察者的物件模型



您可以使用 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 伺服器,您將收到以下輸出 −

Ember.js Outside Class Definitions
emberjs_object_model.htm
廣告
© . All rights reserved.