- EmberJS 教程
- EmberJS - 首頁
- EmberJS - 概述
- EmberJS - 安裝
- EmberJS - 核心概念
- 建立並執行應用程式
- EmberJS - 物件模型
- EmberJS - 路由
- EmberJS - 模板
- EmberJS - 元件
- EmberJS - 模型
- EmberJS - 管理依賴關係
- EmberJS - 應用程式問題
- EmberJS - 配置 Ember.js
- EmberJS - Ember 檢查器
- EmberJS 有用資源
- EmberJS - 快速指南
- EmberJS - 有用資源
- EmberJS - 討論
宣告觀察者的物件模型
您可以使用 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,
//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();
輸出
執行 ember 伺服器,您將收到以下輸出 −
emberjs_object_model.htm
廣告