`
liudong19870227
  • 浏览: 32280 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Backbone之Model

阅读更多

在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事件托管

    发现Backbone中View和Model的直接通信在比较麻烦,少量还可以看出来,如果后期model和view频繁交换数据。那就需要一个托管两者事件的层来做这个工作。我这里命名为controller。 文章见web前端中的demo1.

    backbone-model-collection-example

    `Backbone.Model` 和 `Backbone.Collection` 的协同工作是Backbone框架中的关键组成部分,让我们深入探讨一下这两个概念。 ### Backbone.Model **模型(Model)** 是Backbone的核心组件,代表了应用中的数据和业务...

    透过源码学前端 之 Backbone 三 Model

    概述: Model 提供了数据存储,将数据以JSON的形式保存在 Model的 attributes里, 但重点功能在于其提供了一套功能强大,使用简单的存、取、删、改数据方法,并在不同的操作里加了相应的监听事件, 如每次修改添加里...

    Java 演示 backbone 基本用法

    1. **Backbone.Model**: 这是Backbone的核心组件之一,用于封装和管理应用的数据。Model负责存储数据,并提供了监听和处理数据变化的方法。开发者可以定义Model的属性和事件,当模型数据发生变化时,可以触发相应的...

    BackBone介绍及使用

    Backbone.js的核心设计理念是MVVM(Model-View-ViewModel)架构模式,这种模式使得数据模型与用户界面之间的交互更加清晰。 **一、Backbone的主要组件** 1. **Model**:Backbone中的模型是应用的核心,负责存储和...

    详解Backbone.js框架中的模型Model与其集合collection

    // "coding"Backbone.js 中的 Model 和 CollectionBackbone.js 是一个轻量级的前端JavaScript框架,它的设计灵感来源于经典的MVC(Model-View-Controller)架构。在Backbone中,Model是数据和业务逻辑的核心,而...

    Backbone.js框架中Model与Collection的使用实例.docx

    ### Backbone.js框架中Model与Collection的使用实例 #### 一、引言 在现代Web开发中,MVC(Model-View-Controller)架构模式是非常流行的一种设计思想,它能够有效地将应用程序的不同关注点分离,提高代码的可维护...

    Backbone.js框架中Model与Collection的用法实例_.docx

    在Backbone.js中,Model和Collection是两个核心概念,它们帮助开发者组织和管理JavaScript应用程序中的数据。本文将详细探讨这两个概念及其用法。 首先,我们来看Model。在Backbone.js中,Model是数据的载体,它...

    backbone.linear:使用Backbone.Model嵌套数组对象属性的最简单方法

    骨干 使用Backbone.Model嵌套数组对象属性的最简单方法。主意与其他类似的库不同, Backbone.Linear不能与Backbone API对抗,也很难重写它们。 Backbone.Linear -小扩展,扩展只parse和sync的方法Backbone.Model例如...

    backbone.supermodel:一个改进的 Backbone.Model 有一堆额外的功能

    SuperModel直接扩展Backbone.Model并覆盖几个Backbone.Model方法以添加对嵌套属性和许多其他功能的支持(即将推出!) 安装 使用 NPM npm install backbone.supermodel 使用凉亭 bower install backbone....

    backbone 和bootstrap 登录示例项目

    Backbone.View通过监听Model的事件来更新视图,例如当用户提交登录信息时,View会触发一个事件,Model进行验证,然后返回结果更新View的状态。 2. **Backbone.Router** Router是Backbone中处理URL路由的部分,...

    backbone 实例

    Backbone.Model是数据存储的基础,它可以视为后端API与前端展示之间的桥梁。Model包含数据和业务逻辑,提供get、set、save等方法来操作数据。例如: ```javascript var User = Backbone.Model.extend({ defaults: ...

    backbone教程

    Backbone.Model是Backbone.js的核心组件之一,用于表示应用程序中的所有数据。模型可以创建、校验、销毁和保存到服务器端。当模型中的数据发生改变时,会自动触发一个"change"事件,所有用于展示模型数据的视图都会...

    backbone 入门指南

    define(['backbone', 'models/model1'], function(Backbone, Model) { var Collection = Backbone.Collection.extend({ model: Model }); return Collection; }); // views/view1.js define(['backbone', '...

    leap-model:支持嵌套属性的Backbone.Model的轻量级替代

    支持Backbone.Model的轻型替代方案,支持具有嵌套属性的模型,不依赖于Backbone或Underscore( require('leap-model') ) 和支持嵌套属性的100%骨干兼容模型( require('leap-model/compat') ) 当您不需要整个...

    arcface backbone model ckpt

    arcface backbone模型文件

    backbone.js入门教程

    Backbone.js 建立在 jQuery 和 Underscore.js 之上,因此它可以无缝集成到已经使用这些库的项目中。此外,它还支持通过 RESTful JSON 接口与服务器通信,使得前后端之间的数据交换更加高效。 #### 二、通过 Hello...

    backbone 资料

    你可以将服务器端的数据映射到Backbone Model,通过事件监听和变更来保持数据的一致性。例如,当你更新Model的属性时,Backbone会自动触发change事件,允许你监听并响应这些变化。 View是用户界面的代表,它负责...

    透过源码学前端 之 Backbone 一

    标题“透过源码学前端 之 Backbone 一”暗示我们将从源码的角度去理解Backbone.js的工作原理。通过阅读和分析源码,我们可以更深入地了解其内部机制,这将对提升我们的前端开发技能大有裨益。 首先,Backbone.js的...

    Backbone 文档

    "backbone-localstorage.js"是Backbone的一个插件,它扩展了Backbone.Model和Backbone.Collection,使它们能够使用浏览器的本地存储(localStorage)来持久化数据。这意味着即使页面刷新,数据也能被保存下来。 ...

Global site tag (gtag.js) - Google Analytics