Ember.js-对象篇 类和实例的续定义

Reopening Classes and Instances

开发者不需要一次就把class定义的完整. 通过reopen( ),我们可以在已存在的类中定义新的属性.

Person.reopen({

isPerson: true

});

Person.create( ).get( 'isPerson' ); //true

可以在使用reopen( )的时候覆写已存在的方法:

Person.reopen({

// override 'say' to add an ! at the end

say (thing) {

this._super(thing +'!');

}

});

通过reopen( )添加的的属性或方法是实例方法(每个实例都有,但是都是独立的).

通过reopenClass( )添加的属性或方法是类方法(static方法).

// add static poreperty to class

Person.reopenClass({

isPerson: false

});

// override property of existing and future Person instances

Person.reopen({

isperson: true

});

Person.isPerson;// false - because it is static property created by `reopenClass`

Person.create( ).get('isperson');// true

本篇完!

Ember Js 一个用于创建 web 应用的 JavaScript MVC 框架,采用基于字符串的Handlebars模板,支持双向绑定、观察者模式、计算属性(依赖其他属性动态变化)、自动更新模板、路由控制、状态机等。 Ember使用自身扩展的类来创建Ember对象、数组、字符串、函数,提供大量方法与属性用于操作。

每一个Ember应用都使用各自的命名空间,避免冲突。

Ember采用可嵌套的视图层,使视图变得有层次。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180330G1QNCS00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

同媒体快讯

扫码关注云+社区

领取腾讯云代金券