- EmberJS 教程
- EmberJS - 主頁
- EmberJS - 概覽
- EmberJS - 安裝
- EmberJS - 核心概念
- 建立和執行應用程式
- EmberJS - 物件模型
- EmberJS - 路由器
- EmberJS - 模板
- EmberJS - 元件
- EmberJS - 模型
- EmberJS - 管理依賴關係
- EmberJS - 應用程式問題
- EmberJS - 配置 Ember.js
- EmberJS - Ember Inspector
- EmberJS 有用資源
- EmberJS - 快速指南
- EmberJS - 有用資源
- EmberJS - 討論
EmberJS - 類和例項
這只不過是在不重新定義它和透過在其中指定新屬性重新開啟該類的情況下更新該類的實現。可以使用以下方法做到這一點 −
reopen() − 它向例項新增屬性和方法。
reopenClass() − 它向類新增屬性和方法.
示例
以下示例使用上面提到的方法,並在其中指定新屬性或方法 −
import Ember from 'ember';
export default function() {
//reopen() method for instances
var Person = Ember.Object.extend ({
firstName: null,
lastName: null,
});
//adding new variable to the Person class
Person.reopen ({
middleName: 'Smith',
});
document.write('Middle Name: '+Person.create().get('middleName'));
document.write("<br>");
//reopenClass() method for classes
Person.reopenClass ({
//creating new function for class Person
openClass: function() {
return Person.create({isMan: true});
}
});
document.write('isMan: '+Person.openClass().get('isMan'));
}
現在開啟app.js檔案,並在檔案頂部新增以下行 −
import reopenclass from './reopenclass';
其中,reopenclass 是指定為 “reopenclass.js” 的檔名稱,並建立在 “app” 資料夾下。
在 export 之前,接下來在底部呼叫繼承的 “reopenclass”。它執行在 reopenclass.js 檔案中建立的 reopenclass 函式 −
reopenclass();
輸出
執行 ember 伺服器,你將收到以下輸出 −
emberjs_object_model.htm
廣告