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
广告