对象模型声明观察者
您可以使用 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,
//定义 Details1 和 Details2 计算属性函数
Details1: Ember.computed('Name', function() {
//获取 Name 值
var Name = this.get('Name');
//返回 Name 值
return Name;
}),
Details2: Ember.observer('Details1', function() {})
});
//初始化人员详细信息
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 服务器,您将收到以下输出 −

emberjs_object_model.html