对象模型观察者和异步
观察者在 Ember.js 中是同步的,当观察者的一个属性更新时会立即触发
示例
以下示例在它们观察到的属性之一发生变化时立即触发 −
import Ember from 'ember'; export default function() { var Person = Ember.Object.extend ({ fName: null, lName: null, //定义 Details1 和 Details2 计算属性函数 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'); }) }); //初始化人员详细信息 var person = Person.create ({ //fName 和 lName 变量的初始值 fName: 'Mark', lName:'Waugh' }); //使用 set() 方法更新"fName 和 lName"的值 document.write('<strong>The updated name : </strong>' +person.get('Details1')); }
现在打开 app.js 文件并在文件顶部添加以下行 −
import observerasynchrony from './observerasynchrony';
其中,observerasynchrony 是指定为"observerasynchrony.js"并在"app"文件夹下创建的文件的名称。
接下来,在导出之前,在底部调用继承的"observerasynchrony"。它执行在 observerasynchrony.js 文件中创建的 observerasynchrony 函数−
observerasynchrony();
输出
运行 ember 服务器,您将收到以下输出 −