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/images/emberjs-class-instance.jpg)