本篇内容翻译自《Beginning Backbone.js》,原著作者James Sugrue。转载请注明相关信息。
本文内容接上篇博客内容
属性方法指南
表3-1描述了Backbone模型中与属性相关的非常有用的操作。
表3-1 Backbone模型的属性方法
操作 | 描述 |
.get(<属性名>) | 返回给定属性名的值,如果该属性不存在则返回undefined。 |
.set(<属性名>, <属性值>) | 将给定属性名的值设置为第二个参数提供的值。如果该属性不存在,则将新建一个取值为第二个参数值的属性。 |
.has(<属性名>) | 检查模型中是否存在给定属性名的属性。 |
.unset(<属性名>) | 如果该属性存在于模型中则移除该属性。 |
.clear() | 从模型对象中移除所有属性。 |
.attributes | 返回模型中的所有属性,并以JSON形式表示。 |
.clone | 创建一个具有同样属性的新的模型实例。 |
向模型添加方法
到目前为止,模型中有的只是属性,但你也可以添加自己的方法来处理一些重复的任务。下面的例子演示了如何在模型中包含printDetails方法来替换前面所用的console.log语句:
Book = Backbone.Model.extend({
initialize: function(){
console.log('a new book');
},
defaults: {
name: 'Book Title',
author: 'No One'
}
printDetails: function(){
console.log(this.get('name') + ' by ' + this.get('author'));
}
});
该方法现在在所有Book对象的实例中都可以使用
//使用printDetails方法
thisBook.printDetails();