对象模型观察者和异步
观察者在 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 服务器,您将收到以下输出 −

emberjs_object_model.html