物件模型觀察器和非同步性



在 Ember.js 中,觀察器是同步的,當觀察器的一個屬性更新時,會立即觸發

示例

以下示例將在他們觀察到的屬性之一更改後立即觸發 -

import Ember from 'ember';

export default function() {
   var Person = Ember.Object.extend ({
      fName: null,
      lName: null,
      
      //Defining the Details1 and Details2 computed property function
      Details1: Ember.computed('fName', 'lName',function() {
         return this.get('fName')+' '+this.get('lName');
      }),

      Details2: Ember.observer('Details1', function() {
         this.set('fName','Will');
         this.set('lName','Smith');
      })
   });

   //initializing the Person details
   var person = Person.create ({
     
      //initial value of fName and lName varialble
      fName: 'Mark',
      lName:'Waugh'
   });

   //updating the value for 'fName and lName' using set() method
   document.write('<strong>The updated name : </strong>' +person.get('Details1'));
}

現在,開啟 app.js 檔案並在檔案頂部新增以下行 -

import observerasynchrony from './observerasynchrony';

其中,observerasynchrony 是指定為“observerasynchrony.js”的一個檔名稱,並在“應用程式”資料夾下建立。

接下來,在底部呼叫繼承的“observerasynchrony”,在匯出之前。它執行在 observerasynchrony.js 檔案中建立的 observerasynchrony 函式 -

observerasynchrony();

輸出

執行 Ember 伺服器,你將接收以下輸出 -

Ember.js Observer Asynchrony
emberjs_object_model.htm
廣告
© . All rights reserved.