EmberJS - 观察者

观察者 observer 属性(例如计算属性)并更新计算属性的文本。当文本更新或更改时,它会触发。

语法

funName1: Ember.computed(function() {
   //代码在这里
}),

funName1: Ember.observer(function() {
   //代码在这里
});

var varname = ClassName.create({
   //代码在这里
});

下表列出了观察员的属性 −

S.No. 属性 &描述
1 观察者和异步

Ember.js 中的观察者目前是同步的。

2 声明观察者

在类定义之外声明不带原型扩展的观察者。

示例

以下示例显示如何使用观察者更新计算属性的文本 −

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

   //初始化人员详细信息
   var person = Person.create ({
      //Name 变量的初始值
      Name: 'Mark Waugh'
   });

   //使用 set() 方法更新 'firstName' 的值
   document.write('<strong>The updated name : </strong>' +person.get('Details1'));
}

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

import observers from './observers';

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

observers();

输出

运行 ember 服务器,您将收到以下输出 −

Ember.js Observers

emberjs_object_model.html