EmberJS - 類和例項



類是模板或藍圖,它包含一系列變數和函式,而例項與該類的物件相關。在 Ember.Object 上建立和擴充套件 Ember 類是 Ember 物件模型的主要屬性。

定義類

你可以使用 Ember.Object 的 extend() 方法建立新的 Ember 類 −

const Demo = Ember.Object.extend ({
   //code here
});

上面的程式碼建立名為“Demo”的新 Ember 類,該類繼承了初始化程式、計算屬性等的屬性。建立類後,你需要使用 create() 方法建立它的例項,如下所示 −

const state = Demo.create();

使用上面的例項“state”,透過使用 set 和 get 訪問器方法訪問屬性。

console.log(state.get('stateOn'));

你可以使用 set 方法更改“stateon”屬性,如下所示 −

state.set('stateOn', true);

初始化例項

你可以透過呼叫 init() 方法來初始化新例項。在類中宣告物件時,你需要使用 init() 方法初始化每個例項。

示例

以下示例使用上述屬性,並在初始化 Ember 物件時顯示一條警告訊息 −

import Ember from 'ember';   //import ember module
export default function() {
   
   //new ember object
   const Demo = Ember.Object.extend ({
      init() {
         alert('The default property of stateOn is : ' + this.get('stateOn'));
      },
      stateOn: false
   });

   const state = Demo.create();   //new instance from object with create() method
   state.set('stateOn', true);
   console.log(state.get('stateOn'));
}

現在開啟 app.js 檔案並在檔案頂部新增以下行 −

import classinstance from './classinstance';

其中,classinstance 是指定為“classinstance.js”的檔名稱,並在“app”資料夾下建立。現在,在 export 之前呼叫底部的繼承“classinstance”。這將執行在 classinstance.js 檔案中建立的 classinstance 函式 −

classinstance();

輸出

執行 ember 伺服器,你將收到以下輸出 −

Ember.js Class Instance
emberjs_object_model.htm
廣告
© . All rights reserved.