宣布观察员(Declaring the Observer)
优质
小牛编辑
122浏览
2023-12-01
您可以使用不带原型扩展的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
});
例子 (Example)
以下示例使用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();
输出 (Output)
运行ember服务器,您将收到以下输出 -