Ember.js有自己的一套类系统
类的特点:会自动触发观察者,自动更新属性值,并且能够自动刷新模板上的属性值
由Ember.js提供的类其前缀命名空间是Ember.Object
使用extent()方法定义Ember类,用create()方法创建类的实例,可以在方法中传入参数,但是参数以hash列表方式传入
Ember.js重写了标准JavaScript的数组类Array,命名为Ember.Enumerable;同时,Ember.js扩展了String属性的特性,提供了一系列特有的处理方法
定义Ember.js类:
Animal = Ember.Object.extend({
eat(thing){
alert(food);
}
});
上面代码定义了一个Animal类,并且在类中定义了一个eat方法,方法传入一个参数thing,方法仅仅是对参数进行打印
类继承:
在子类中重写父类的方法,并在方法里调用_super()方法来调用父类中对应的方法触发父类方法的行为
Animal = Ember.Obiect.extend({ eat(thing){ var name= this.get('name'); alert(name+ 'eat:' + thing); } }); Dog = Animal.extend({ eat(thing){ this._super(thing ) } }) ; var dog1 = Dog.creat({ name:"AoLiAo" }); dog1.say('meat');// AoLiAo eat meat