在Backbone中模型是核心,要处理大量的处理逻辑和数据数据交互,包括:数据校验,访问控制,属性计算。
模型的使用还是比较简单的:
Person = Backbone.Model.extend({
defaults:{
sex:"male"
},
initialize : function() {
alert("Welcome to this world");
//为属性绑定事件
this.bind("change:name",function(){
alert("更改后的名字为:"+this.get("name"));
});
this.bind("error",function(model,error){
alert(error);
});
},
validate:function(attributes){
if(attributes.sex != "male" || attributes.sex != "female"){
return "Sex must be male or female.";
}
},
changeName:function(name){
this.set({name:name});
}
});
var person = new Person({
name : "Thomas",
age : 67
});
var age = person.get("age"); // 67
var name = person.get("name"); // "Thomas"
var sex = person.get("sex");
alert("age:"+age+";name:"+name+";sex:"+sex);
person.set({"age":18,"name":"Lpada","sex":"other"});
var age = person.get("age");
var name = person.get("name");
var sex = person.get("sex");
alert("age:"+age+";name:"+name+";sex:"+sex);
defaults用来设置默认值;
initialize是被最先调用的,用来初始化实例;
validate可以进行属性验证;
changeName是自定义的方法;
在创建实例的时候可以传入该实例的属性值。
bind方法可以对模型的属性绑定事件,上面例子就是说当name属性的值改变时,alert改变后的值,如果定义了validate方法,则先要进行验证。
分享到:
相关推荐
发现Backbone中View和Model的直接通信在比较麻烦,少量还可以看出来,如果后期model和view频繁交换数据。那就需要一个托管两者事件的层来做这个工作。我这里命名为controller。 文章见web前端中的demo1.
`Backbone.Model` 和 `Backbone.Collection` 的协同工作是Backbone框架中的关键组成部分,让我们深入探讨一下这两个概念。 ### Backbone.Model **模型(Model)** 是Backbone的核心组件,代表了应用中的数据和业务...
概述: Model 提供了数据存储,将数据以JSON的形式保存在 Model的 attributes里, 但重点功能在于其提供了一套功能强大,使用简单的存、取、删、改数据方法,并在不同的操作里加了相应的监听事件, 如每次修改添加里...
1. **Backbone.Model**: 这是Backbone的核心组件之一,用于封装和管理应用的数据。Model负责存储数据,并提供了监听和处理数据变化的方法。开发者可以定义Model的属性和事件,当模型数据发生变化时,可以触发相应的...
Backbone.js的核心设计理念是MVVM(Model-View-ViewModel)架构模式,这种模式使得数据模型与用户界面之间的交互更加清晰。 **一、Backbone的主要组件** 1. **Model**:Backbone中的模型是应用的核心,负责存储和...
// "coding"Backbone.js 中的 Model 和 CollectionBackbone.js 是一个轻量级的前端JavaScript框架,它的设计灵感来源于经典的MVC(Model-View-Controller)架构。在Backbone中,Model是数据和业务逻辑的核心,而...
### Backbone.js框架中Model与Collection的使用实例 #### 一、引言 在现代Web开发中,MVC(Model-View-Controller)架构模式是非常流行的一种设计思想,它能够有效地将应用程序的不同关注点分离,提高代码的可维护...
在Backbone.js中,Model和Collection是两个核心概念,它们帮助开发者组织和管理JavaScript应用程序中的数据。本文将详细探讨这两个概念及其用法。 首先,我们来看Model。在Backbone.js中,Model是数据的载体,它...
骨干 使用Backbone.Model嵌套数组对象属性的最简单方法。主意与其他类似的库不同, Backbone.Linear不能与Backbone API对抗,也很难重写它们。 Backbone.Linear -小扩展,扩展只parse和sync的方法Backbone.Model例如...
SuperModel直接扩展Backbone.Model并覆盖几个Backbone.Model方法以添加对嵌套属性和许多其他功能的支持(即将推出!) 安装 使用 NPM npm install backbone.supermodel 使用凉亭 bower install backbone....
Backbone.View通过监听Model的事件来更新视图,例如当用户提交登录信息时,View会触发一个事件,Model进行验证,然后返回结果更新View的状态。 2. **Backbone.Router** Router是Backbone中处理URL路由的部分,...
Backbone.Model是数据存储的基础,它可以视为后端API与前端展示之间的桥梁。Model包含数据和业务逻辑,提供get、set、save等方法来操作数据。例如: ```javascript var User = Backbone.Model.extend({ defaults: ...
Backbone.Model是Backbone.js的核心组件之一,用于表示应用程序中的所有数据。模型可以创建、校验、销毁和保存到服务器端。当模型中的数据发生改变时,会自动触发一个"change"事件,所有用于展示模型数据的视图都会...
define(['backbone', 'models/model1'], function(Backbone, Model) { var Collection = Backbone.Collection.extend({ model: Model }); return Collection; }); // views/view1.js define(['backbone', '...
支持Backbone.Model的轻型替代方案,支持具有嵌套属性的模型,不依赖于Backbone或Underscore( require('leap-model') ) 和支持嵌套属性的100%骨干兼容模型( require('leap-model/compat') ) 当您不需要整个...
arcface backbone模型文件
Backbone.js 建立在 jQuery 和 Underscore.js 之上,因此它可以无缝集成到已经使用这些库的项目中。此外,它还支持通过 RESTful JSON 接口与服务器通信,使得前后端之间的数据交换更加高效。 #### 二、通过 Hello...
"backbone-localstorage.js"是Backbone的一个插件,它扩展了Backbone.Model和Backbone.Collection,使它们能够使用浏览器的本地存储(localStorage)来持久化数据。这意味着即使页面刷新,数据也能被保存下来。 ...
你可以将服务器端的数据映射到Backbone Model,通过事件监听和变更来保持数据的一致性。例如,当你更新Model的属性时,Backbone会自动触发change事件,允许你监听并响应这些变化。 View是用户界面的代表,它负责...
标题“透过源码学前端 之 Backbone 一”暗示我们将从源码的角度去理解Backbone.js的工作原理。通过阅读和分析源码,我们可以更深入地了解其内部机制,这将对提升我们的前端开发技能大有裨益。 首先,Backbone.js的...