EmberJS - 观察器



观察器监视属性(如计算属性)并更新计算属性的文本。它在文本更新或更改时触发。

语法

funName1: Ember.computed(function() {
   //code here
}),

funName1: Ember.observer(function() {
   //code here
});

var varname = ClassName.create({
   //code here
});

下表列出了观察器的属性 -

序号 属性和说明
1 观察器和异步

Ember.js 中的观察器当前是同步的。

2 声明观察器

无需原型扩展和在类定义之外声明观察器。

示例

以下示例演示了如何使用观察器更新计算属性的文本 -

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() {
         this.set('Name','Steve Waugh');
      })
   });

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

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

现在打开 app.js 文件,并在文件顶部添加以下行 -

import observers from './observers';

其中,观察器是指定为“observers.js”的文件名,并在“app”文件夹下创建。现在,在导出之前,在底部调用继承的“观察器”。它执行在 observers.js 文件中创建的 observers 函数 -

observers();

输出

运行 ember 服务器,你会收到以下输出 -

Ember.js Observers
emberjs_object_model.htm
广告