- 模型:包含应用程序里的数据以及与数据相关的逻辑。
- 通过扩展Backbone.Model创建该模型
- 创建一个新模型实例时,initialize()方法会被调用(该方法可选)
- Model.get():用于访问模型的属性
- toJSON():读取或者复制一个模型的所有数据属性,
1) 该方法将所有属性的副本作为一个对象进行返回。
2) 当给JSON.stringify()传递一个带有toJSON()方法的对象时,JSON.stringify()处理的时该对象执行toJSON()以后的返回值,而不是原始对象
- toJSON():读取或者复制一个模型的所有数据属性,
- Model.set():在模型上设置一个包含一个或多个属性的Hash散列,当其中的任意属性更改模型的状态时,就会在上面触发change事件。每个属性的change事件也可以在模型上进行触发和绑定
- 直接访问:
- 模型暴露了一个.attributes属性,描述了包含该模型状态的一个hash散列。通常和服务器返回数据的JSON对象的形式一样。
- 如果通过模型上的.attributes属性设置值,可以绕过该模型上绑定的触发器。修改成{silent:true}并不会触发change:attr事件
- 监听模型变化:通过监听该模型上的change事件实现监听,initialize()方便添加监听器
- model.validate():模型验证,允许在设置属性值之前对属性值进行检查。
1) 默认情况下,通过调用save()方法或带有{validate:true}参数的set()方法持久化模型时,验证就会触发
2) 如果提供的属性都是有效的,.validate()不会返回任何值;相反,如果参数时无效的,就会返回一个错误值,如果有错误值返回,则:
- model会触发invalid事件,同时会将.validate()的返回值赋值给validationError属性
- save()不会继续执行,同时model上的属性不会在服务器上修改
Backbone基础
最新推荐文章于 2022-01-17 14:27:35 发布