当前位置: 首页 > 文档资料 > EmberJS 入门教程 >

宣布观察员(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服务器,您将收到以下输出 -

Ember.js课外定义