通过Backbone.Model.extend()的形式,创建一个Model,该Model可以作为一个构造函数用于创建更多的Model实例。
1 初始化方法:initialize
initialize: function(){}
2 默认值:defaults
defaults: {}
3 存取器:get/set/unset
model.get('key'); model.set('key', value); model.set({'key', value}, {silent: true}); model.unset('key')
4 attributes
model.attributes
5 事件监听--初始化时整个model监听change事件
initialize: function(){ this.on('change', function(){ } }
6 事件监听--监听model特定字段的change事件
initialize: function(){ this.on('change:title', function(){ } }
7 模型验证
validate: function(attrs) { //如果所有属性通过验证,不返回任何信息;如果有属性不通过验证,应返回相应的错误信息 }
默认情况下,两种方式会触发验证,一是调用模型的save()方法持久化数据时;二是调用set()方法且设置{validate: true}时。
当验证出错时,validate返回的错误信息会设置到模型的validationError属性上。
8 model克隆
newModel = oldModel.clone();
如果model直接赋值,新model的修改会影响原来model的值。而使用clone方法则不会出现这种情况。
9 判断model中是否含有某个属性
model.has('key');
10 移除model中的所有属性
model.clear();
11 转移model中属性的值
model.escape('key');
12 idAttribute设置model的ID
13 几个方法的区别
this.model 返回的是Backbone的对象,包含了Backbone的其他一些内置属性;
this.model.toJSON() 返回用户自定义的对象内容,JavaScript对象的形式;相当于this.model.attributes的内容;
JSON.stringify(this.model) 返回用户自定的对象内容,JSON String的形式。
相关推荐
发现Backbone中View和Model的直接通信在比较麻烦,少量还可以看出来,如果后期model和view频繁交换数据。那就需要一个托管两者事件的层来做这个工作。我这里命名为controller。 文章见web前端中的demo1.
1. **Model**:Backbone中的模型是应用的核心,负责存储和处理数据。它们与服务器上的数据源进行交互,通过`fetch`和`save`方法来获取和更新数据。模型还支持事件监听,当数据发生变化时,可以触发相应的事件。 2. ...
`Backbone.Model` 和 `Backbone.Collection` 的协同工作是Backbone框架中的关键组成部分,让我们深入探讨一下这两个概念。 ### Backbone.Model **模型(Model)** 是Backbone的核心组件,代表了应用中的数据和业务...
### Backbone.js框架中Model与Collection的使用实例 #### 一、引言 在现代Web开发中,MVC(Model-View-Controller)架构模式是非常...掌握Model和Collection的使用方法,对于使用Backbone.js进行Web开发来说至关重要。
- Model之间的关联:在大型应用中,模型可能需要关联其他模型,Backbone不直接支持复杂的关联关系,但可以通过扩展实现,如使用`Backbone.Relational`插件。 - 验证:Model可以定义验证规则,确保数据的正确性,如...
我们可以在Model中添加自定义方法,例如`aboutMe`: ```javascript Man = Backbone.Model.extend({ initialize: function() { alert('Hey, you create me!'); }, defaults: { name: '张三', age: '38' }, ...
但重点功能在于其提供了一套功能强大,使用简单的存、取、删、改数据方法,并在不同的操作里加了相应的监听事件, 如每次修改添加里都会触发 change,这在据模型变动来修改视图时很常用,并且与collection建立了关联...
1. **模型(Model)**: 在Backbone中,模型是数据的容器,通常对应于后端服务器的数据模型。模型拥有属性和方法,可以监听和触发事件。例如,`set`方法用于设置或改变模型的属性,`save`方法用于将模型数据保存到...
骨干 使用Backbone.Model嵌套数组对象属性的最简单方法。主意与其他类似的库不同, Backbone.Linear不能与Backbone API对抗,也很难重写它们。 Backbone.Linear -小扩展,扩展只parse和sync的方法Backbone.Model例如...
在这个Java演示中,虽然可能用Java做后端服务,但前端部分主要展示了如何在浏览器环境中使用Backbone.js。通过创建Model、View、Collection,以及可能的Router,来构建一个简单的交互式应用。文件名"zhang"可能是...
SuperModel直接扩展Backbone.Model并覆盖几个Backbone.Model方法以添加对嵌套属性和许多其他功能的支持(即将推出!) 安装 使用 NPM npm install backbone.supermodel 使用凉亭 bower install backbone....
Backbone.js中的模型与服务器上的数据源保持同步,通过`fetch`方法获取数据,通过`save`方法更新数据。模型还提供了`validate`方法,用于在数据改变时进行验证。 2. **视图(Views)**:视图是用户界面的表示层,...
这可以通过在Backbone.Model中添加一个标志属性来实现,或者使用外部的Session或Cookie存储登录状态。 通过这个示例项目,开发者可以深入理解如何结合Backbone.js的MVC架构和Bootstrap的UI组件来创建交互式和响应式...
例如,你可以在Model中定义`validate`方法来验证属性值,在设置属性时,如果验证失败,`set`方法会返回`false`,并阻止属性变更。这样可以帮助防止非法数据的存储,确保应用的安全性。 总的来说,Backbone.js的...
在本文中,我们将深入探讨如何使用Node.js构建应用程序,并结合MongoDB数据库以及Backbone.js作为前端框架,实现数据的高效管理和交互。Node.js是基于Chrome V8引擎的JavaScript运行环境,它让JavaScript能够运行在...
在压缩包"backbone使用"中,可能包含了详细的教程、示例代码或者演示应用,帮助初学者快速掌握Backbone框架的使用。建议仔细阅读并实践其中的内容,以加深理解和提高技能。记住,理论知识和实践结合才能真正掌握一门...
Backbone.Model是Backbone.js的核心组件之一,用于表示应用程序中的所有数据。模型可以创建、校验、销毁和保存到服务器端。当模型中的数据发生改变时,会自动触发一个"change"事件,所有用于展示模型数据的视图都会...
Backbone.js 建立在 jQuery 和 Underscore.js 之上,因此它可以无缝集成到已经使用这些库的项目中。此外,它还支持通过 RESTful JSON 接口与服务器通信,使得前后端之间的数据交换更加高效。 #### 二、通过 Hello...
Backbone.js的View视图主要负责绑定和处理DOM事件,它还可以用来反映你应用程序中Model的模样。Backbone.js的视图不仅处理数据的显示,还要响应用户的交互事件。 在Backbone.js中,视图组件可以通过两种方式定义:...
动态路由允许在路由中使用参数,例如: ```javascript routes: { 'user/:id': 'showUser' }, showUser: function(id) { console.log('Showing user with ID:', id); } ``` #### 十一、使用Require.js模块化组织...