emberjs创建类

创建一个Person类
Person = Ember.Object.extend({ say: function(thing) { alert(thing); } });

创建一个Person对象也就是Person类的实例
var person = Person.create();
person.say("Hello") // alerts "Hello"
创建实例时,也可以通过传入对象来为实例增添额外的属性
var tom = Person.create({
  name: "Tom Dale",
  helloWorld: function() {
    this.say("Hi my name is " + this.get('name'));
  }
});
tom.helloWorld() // alerts "Hi my name is Tom Dale"

当创建一个对象的新的实例时,也可以覆写类中定义的任何属性和方法
var yehuda = Person.create({
  name: "Yehuda Katz",
  say: function(thing) {
    var name = this.get('name');
    this._super(name + " says: " + thing);//你可以使用对象的_super方法(super是JavaScript中的保留字)来调用被你覆写的原始方法
} });
 也可以使用extend方法为类创建子类。事实上,我们上面使用Ember.Object对象的extend方法创建新类时,即是创建了Ember.Object子类
var LoudPerson = Person.extend({
  say: function(thing) {
    this._super(thing.toUpperCase());
  }
});
 
 
posted @ 2014-11-13 16:09  向着太阳生  阅读(182)  评论(0编辑  收藏  举报