EmberJS - 类和实例

类是一个模板或蓝图,它包含变量和函数的集合,而实例与该类的对象相关。在 Ember.Object 上创建和扩展 Ember 类是 Ember 对象模型的主要属性。

定义类

您可以使用 Ember.Object 的 extend() 方法创建新的 Ember 类 −

const Demo = Ember.Object.extend ({
//代码在这里
});

上述代码创建了名为"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';   //导入 ember 模块
export default function() {
   
   //新的 ember 对象
   const Demo = Ember.Object.extend ({
      init() {
         alert('The default property of stateOn is : ' + this.get('stateOn'));
      },
      stateOn: false
   });

   const state = Demo.create();   //使用 create() 方法从对象创建新实例
   state.set('stateOn', true);
   console.log(state.get('stateOn'));
}

现在打开 app.js 文件并在文件顶部添加以下行 −

import classinstance from './classinstance';

其中,classinstance 是指定为"classinstance.js"并在"app"文件夹下创建的文件的名称。现在,在导出之前,在底部调用继承的"classinstance"。这将执行在 classinstance.js 文件中创建的 classinstance 函数 −

classinstance();

输出

运行 ember 服务器,您将收到以下输出 −

Ember.js 类实例

emberjs_object_model.html