requirejs.config({
baseUrl: 'js/lib',
paths:{
app: '../app'
}
})
// Start the main app logic.
//requirejs===define===require源码:var requirejs, require, define;
requirejs(['jquery', 'underscore', 'backbone_1.2.3'],
function ($, _, Backbone) {
var Book = Backbone.Model.extend(
{
defaults:{
name:"unknnown",
author:"unknown&",
price:0
},
validate:function(data){
if(data.price>100){
return "大于100了";
}
}
} );
/*function Book(){
this.defaults = 上面那个
}*/
var javabook = new Book({
name:"thinking in java"
})
// 监听模型"change"事件
javabook.on('change', function(model) {
//console.log('change事件被触发');
});
// 监听"change:price"事件
/*previous()方法接收一个属性名,并返回该属性在修改之前的状态;
previousAttributes()方法返回一个对象,该对象包含上一个状态的所有数据。
需要注意的是,previous()和previousAttributes()方法只能在数据修改过程中调用
(即在模型的change事件和属性事件中调用)*/
javabook.on('change:price', function(model, value) {
var price = model.previous('price');
if(price < value) {
console.log('价格上涨了' + (value - price) + '元.');
} else if(price > value) {
console.log('价格下降了' + (value - price) + '元.');
} else {
console.log('价格没有发生变化.');
}
});
// 监听error事件,当验证失败时触发
javabook.on('invalid', function(model, error) {
console.log(error);
});
// 通过set方法设置模型数据
javabook.set('name', 'Java7入门经典');
javabook.set('author', 'Ivor Horton');
javabook.set('price', 883,{
validate:true
//silent : true不校验
});
/*unset()方法用于删除对象中指定的属性和数据
clear()方法用于删除模型中所有的属性和数据*/
javabook.clear();
var name = javabook.get("name");
var author = javabook.escape("author");
console.log(javabook);
console.log(name);
console.log(author);
}
);

http://yujianshenbing.iteye.com/blog/1748571

backbone Model的更多相关文章

  1. MainData仿Backbone Model式 数据模型记录器

    MainData仿Backbone Model式 数据模型记录器主要思想:将 数据记录处理 和 因为数据变化而产生的页面渲染 两者解耦, 让页面元素可以与数据进行关联绑定,杜绝因为遗忘或是逻辑复杂导致 ...

  2. Backbone Model——数据模型

    Model是Backbone中所有数据模型的基类,用于封装原始数据,并提供对数据进行操作的方法,我们一般通过继承的方式来扩展和使用它. 如果你做过数据库开发,可能对ORM(对象关系映射)不会陌生,而B ...

  3. backbone.Model 源码笔记

    backbone.Model backbone的model(模型),用来存储数据,交互数据,数据验证,在view里面可以直接监听model来达到model一改变,就通知视图. 这个里面的代码是从bac ...

  4. Backbone Model 源码简谈 (版本:1.1.0 基础部分完毕)

    Model工厂   作为model的主要函数,其实只有12行,特别的简练 var Model = Backbone.Model = function(attributes, options) { va ...

  5. backbone Model调用save方法的时候提交方式

    horizon使用的是backbone框架,但是我们的后台api都是只接收post请求,请求的路径为/api/,根据backbone的官档解释: backbone的model.save方法会判断当前的 ...

  6. Backbone中的model和collection在做save或者create操作时, 如何选择用POST还是PUT方法 ?

    Model和Collection和后台的WEB server进行数据同步非常方便, 都只需要在实行里面添加一url就可以了,backbone会在model进行save或者collection进行cre ...

  7. Backbone.js 中的Model被Destroy后,不能触发success的一个原因

    下面这段代码中, 当调用destroy时,backbone会通过model中的url,向服务端发起一个HTTP DELETE请求, 以删除后台数据库中的user数据. 成功后,会回调触发绑定到dest ...

  8. Backbone源码解析(二):Model(模型)模块

    Model(模型)模块在bk框架中的作用主要是存储处理数据,它对外和对内都有很多操作数据的接口和方法.它与视图(Views)模块精密联系着,通过set函数改变数据结构从而改变视图界面的变化.下面我们来 ...

  9. backbone库学习-model

    backbone库的结构: http://www.cnblogs.com/nuysoft/archive/2012/03/19/2404274.html 本文所有例子来自于http://blog.cs ...

随机推荐

  1. html实现返回上一页的几种方法(javaScript:history.go(-1);)

    html实现返回上一页的几种方法(javaScript:history.go(-1);) 一.总结: 1.javaScript:history.go(-1); 二.方法 1.通过超链接返回到上一页 & ...

  2. JavaScript系列--JavaScript数组高阶函数reduce()方法详解及奇淫技巧

    一.前言 reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值. reduce() 可以作为一个高阶函数,用于函数的 compose. reduce()方 ...

  3. 关于Topsort

    Long time no see. 拓扑排序 英文名称:Topological-sort 别称:toposort or  topsort 拓扑排序是干什么的呢 对一个有向无环图(Directed Ac ...

  4. 【record】11.14..11.20

    balabala

  5. stm32的dac

  6. WebService--概述、JDk实现、AJAX调用

    一.Webservice概述 W3C组织对其的定义是,它是一个软件系统,为了支持跨网络的机器间相互操作交互而设计. Webservice服务通常被定义为一组模块化的API,它们可以通过网络进行调用,来 ...

  7. iis MP4 不能访问404

    为什么我上传了flv或MP4文件到服务器,可输入正确地址通过http协议来访问总是出现“无法找到该页”的404错误呢?这就表明mp4格式文件是服务器无法识别的,其实,这是没有在iis中将相应的MIME ...

  8. css3 border img 边框图片

    摘自http://www.html-js.com/article/CSS3-tutorial-css3borderimage-frame-image-Xiangjie-on border-image摘 ...

  9. mysql 序列号生成器 (自定义函数)

    https://yq.aliyun.com/articles/42600 http://bbs.csdn.net/topics/360203885 http://www.tuicool.com/art ...

  10. (转自aierong原创技术随笔)sqlserver字符串拆分(split)方法汇总

    sqlserver字符串拆分(split)方法汇总   --方法0:动态SQL法declare @s varchar(100),@sql varchar(1000)set @s='1,2,3,4,5, ...