backbonejs中的模型篇(一)
2014-08-14 16:05
169 查看
一:模型及属性
模型是MVC应用的基石,它负责存放应用所需的数据,对数据的验证,执行访问控制,以及实现应用所需的特定业务逻辑。
backbone通过扩展Backbone.Model对象来定义一个模型。
如:var Mymodel = Backbone.Model.extend({...});
我们并不需要在模型内部定义一个数据结构,backbone支持在模型初始化时动态定义。
如: mymodeltest = new Mymodel({
date:'2014-08-14',
name:'joan',
description:'test'});
1:模型复制
newmodel= mymodeltest.clone(); 得到一个模型独立的副本,此时对mymodeltest模型实例的修改不会反映到newmodel上;如果是赋值给另一个对象,则会反映到另一个对象。
2:设置默认的属性值
如: var _model = Backbone.Model.extend({
defaults:{date:'', name:'joan', description:'',gender:'women'}
})
var aaa = new _model({
description:'testtest'
});
aaa.get('date')!=undefine //true
aaa.get('name') //joan aaa.get('description') //testtest
3:可用函数来设置默认属性值
如:var _model = Backbone.Model.extend({
defaults:{name: 'joan',
description: '',
gender: 'women',
date: function(){var date = new Date(); return date.toISOString();}}
})
4:initialize()方法
在模型对象被创建后,initialize方法立即被调用来初始化模型对象的属性值
以上defaults中的date属性也可以在initialize方法中设置
initialize:function(){
if(!this.has('date')){var date = new Date(); this.set('date',date.isISOString());}
}
通过has方法来判断date属性是否在它之前没有被初始化过,避免将其覆盖
通过set方法来设置默认date属性
二:操作模型属性的一些专门的方法
1:get():获取属性的值
2:set():更新或者创建单个属性的值,可以一次更新多个,使用‘键-值’的格式
如:aaa.set({name:'saly',gender:'Man'}) 如果该属性不存在,则会自动创建出该属性。设置成功,返回true,表示一个可用的模型的引用,否则false.
3:unset():从模型中删除一个属性。 如:aaa.unset('description')
4: clear(): 从模型中删除所有的属性。
5:has():检查模型中是否存在某一属性,存在返回true, 如:aaa.has('name'), //true
模型是MVC应用的基石,它负责存放应用所需的数据,对数据的验证,执行访问控制,以及实现应用所需的特定业务逻辑。
backbone通过扩展Backbone.Model对象来定义一个模型。
如:var Mymodel = Backbone.Model.extend({...});
我们并不需要在模型内部定义一个数据结构,backbone支持在模型初始化时动态定义。
如: mymodeltest = new Mymodel({
date:'2014-08-14',
name:'joan',
description:'test'});
1:模型复制
newmodel= mymodeltest.clone(); 得到一个模型独立的副本,此时对mymodeltest模型实例的修改不会反映到newmodel上;如果是赋值给另一个对象,则会反映到另一个对象。
2:设置默认的属性值
如: var _model = Backbone.Model.extend({
defaults:{date:'', name:'joan', description:'',gender:'women'}
})
var aaa = new _model({
description:'testtest'
});
aaa.get('date')!=undefine //true
aaa.get('name') //joan aaa.get('description') //testtest
3:可用函数来设置默认属性值
如:var _model = Backbone.Model.extend({
defaults:{name: 'joan',
description: '',
gender: 'women',
date: function(){var date = new Date(); return date.toISOString();}}
})
4:initialize()方法
在模型对象被创建后,initialize方法立即被调用来初始化模型对象的属性值
以上defaults中的date属性也可以在initialize方法中设置
initialize:function(){
if(!this.has('date')){var date = new Date(); this.set('date',date.isISOString());}
}
通过has方法来判断date属性是否在它之前没有被初始化过,避免将其覆盖
通过set方法来设置默认date属性
二:操作模型属性的一些专门的方法
1:get():获取属性的值
2:set():更新或者创建单个属性的值,可以一次更新多个,使用‘键-值’的格式
如:aaa.set({name:'saly',gender:'Man'}) 如果该属性不存在,则会自动创建出该属性。设置成功,返回true,表示一个可用的模型的引用,否则false.
3:unset():从模型中删除一个属性。 如:aaa.unset('description')
4: clear(): 从模型中删除所有的属性。
5:has():检查模型中是否存在某一属性,存在返回true, 如:aaa.has('name'), //true
相关文章推荐
- backbonejs中的模型篇(二)
- backbonejs中的模型篇(三)
- BackboneJS创建数据模型(Model)和设置默认属性&初始化方法
- 使用AppFuse 2需注意的一个事项:一个模型类的名称不能是另一个的前缀
- 读书笔记 - .net2.0 异步编程模型: 使用 IAsyncResult 调用异步方法
- ASP.NET MVC中 Jquery AJAX 获取数据利用MVC模型绑定实现输出
- 图像分割之(五)活动轮廓模型之Snake模型简介
- 数学之美——HMM模型(一)介绍
- Git Step by Step (3):Git对象模型
- C++对象管理模型
- js事件模型
- 大话设计模式c++实现--简单工程模型
- 多线程,多显示场景图形设计:一种新的过程模型
- Storm介绍及核心组件和编程模型
- 通俗理解LDA主题模型
- Tensorflow模型的保存与恢复
- PowerDesigner概念设计模型(CDM)中的3种实体关系
- Web容器测试模型选择
- 在revit模型中如何对建筑柱和梁进行过滤?
- select模型中需不需要ioctlsocket的问题