-_-#【Backbone】Model
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<link rel="stylesheet" href="../../app-min.css">
</head>
<body>
<script src="../../jquery/jquery-1.10.2.js"></script>
<script src="../underscore.js"></script>
<script src="../backbone.js"></script>
<script>
var Man = Backbone.Model.extend({
url: '/man/',
initialize: function() {
console.log('initialize')
// 初始化时绑定监听
this.bind('change:name', function() {
var name = this.get('name')
console.log('you changed name to ' + name)
})
this.bind('invalid', function(model, error) {
console.log(error)
})
this.bind('error', function(model, error) {
console.log(error)
})
},
defaults: {
name: 'name',
age: 'age'
},
validate: function(attributes) {
if (attributes.name == '') {
return 'name不能为空'
}
},
aboutMe: function() {
return 'wo jiao ' + this.get('name')
}
}) var man = new Man
console.log(man.get('name'))
man.set({name: ''})
console.log(man.get('name'))
console.log(man.aboutMe())
// 调用save方法时会post对象的所有属性到server端
// 调用fetch方法是又会发送get请求到server端
// 接受数据和发送数据均为json格式
man.save() // save时触发验证。根据验证规则,弹出错误提示 //man.fetch()
//man.fetch({url:'/man/'})
man.fetch({
url: '/man/',
success: function(model, response) {
// model 为获取到的数据
console.log(model.get('name'))
},
error: function() {
console.log('error')
}
})
// 你设置了urlRoot之后,你发送PUT和DELETE请求的时候,其请求的url地址就是:/baseurl/[model.id]
</script>
<article class="content">
<pre>var Man = Backbone.Model.extend({
url: '/man/',
initialize: function() {
console.log('initialize')
// 初始化时绑定监听
this.bind('change:name', function() {
var name = this.get('name')
console.log('you changed name to ' + name)
})
this.bind('invalid', function(model, error) {
console.log(error)
})
this.bind('error', function(model, error) {
console.log(error)
})
},
defaults: {
name: 'name',
age: 'age'
},
validate: function(attributes) {
if (attributes.name == '') {
return 'name不能为空'
}
},
aboutMe: function() {
return 'wo jiao ' + this.get('name')
}
}) var man = new Man
console.log(man.get('name'))
man.set({name: ''})
console.log(man.get('name'))
console.log(man.aboutMe())
// 调用save方法时会post对象的所有属性到server端
// 调用fetch方法是又会发送get请求到server端
// 接受数据和发送数据均为json格式
man.save() // save时触发验证。根据验证规则,弹出错误提示 //man.fetch()
//man.fetch({url:'/man/'})
man.fetch({
url: '/man/',
success: function(model, response) {
// model 为获取到的数据
console.log(model.get('name'))
},
error: function() {
console.log('error')
}
})
// 你设置了urlRoot之后,你发送PUT和DELETE请求的时候,其请求的url地址就是:/baseurl/[model.id]</pre>
</article>
</body>
</html>
-_-#【Backbone】Model的更多相关文章
- -_-#【Backbone】Router
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- -_-#【Backbone】View
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- -_-#【Backbone】Collection
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- Linu下的Mysql学习详解_【all】
Linux下Mysql简介 1.什么是Mysql(MariDB) 1.数据库:存储数据的仓库 2.关系型数据库:mysql(主流用5.5,5.6), oracle 本质:二维表 ...
- Mysql 系统学习梳理_【All】
0.Linux学习---CentOS 7编译安装MySQL 8.0 1.Mysql学习---SQL语言的四大分类 2.Mysql学习---基础操作学习 3.Mysql学习---基础操作学习2 4.My ...
- 【Django】--Model字段
参考地址:http://www.cnblogs.com/wupeiqi/articles/6216618.html 所有字段 AutoField(Field) --int自增列,必须填入参数prima ...
- Python 系统学习梳理_【All】
Python学习 1. Python学习---Python安装与基础1205 2. Python学习---PyCharm的使用学习 3. Python学习---Python数据类型1206 4. Py ...
- Linux 下LNMP环境搭建_【all】
LNMP = Linux + Nginx + Mysql + PHP 1.0 Linux环境搭建 Linux 系统安装[Redhat] 1.1. FastCGI介绍 1.什么是CGI(common g ...
- 企业级NFS网络文件共享服务_【all】
1.1. 什么是NFS(1台机器提供服务) Network File System(网络文件系统)通过局域网让不同的主机系统之间共享文件或目录. NFS客户端可以通过挂载的方式将NFS服务器端共享的数 ...
随机推荐
- JQ插件之imgAreaSelect实现对图片的在线截图功能(java版)
前言:在做网站的时候经常用的功能就是,用户上传图片对自己上传的图片进行截图,DIV自己的头像.或者上传幻灯片大图进行DIV设置小图. 解决方案:目前我知道的解决方案有两个如下: 一.fla ...
- CSRF跨站点请求伪造漏洞问题
最近在写php,项目写完后送检发现一个漏洞问题CSRF,强行拖了我一天的时间,沉迷解决问题,茶饭不思,日渐消瘦,时间比较赶,这篇比较糙,凑合看下. 好了废话不多说下面是今天的解决方案. 博主用的是Th ...
- Android(java)学习笔记241:多媒体之 MediaPlayer使用
MediaPlayer类可用于控制音频/视频文件或流的播放.关于如何使用这个类的方法还可以阅读VideoView类的文档. 1.MediaPlayer 状态图 对播放音频/视频文件和流的控 ...
- zoj 3537 Cake(区间dp)
这道题目是经典的凸包的最优三角剖分,不过这个题目给的可能不是凸包,所以要提前判定一下是否为凸包,如果是凸包的话才能继续剖分,dp[i][j]表示已经排好序的凸包上的点i->j上被分割成一个个小三 ...
- border属性妙用
以前只知道border属性是盒模型中的边框属性,一直不清楚每个边的border是矩形拼接有重合呢,还是梯形无缝拼接的. border梯形 为了观察边框究竟是哪一种拼接方式,为边框设置不同的颜色背景,代 ...
- Web字体工具整理,网页图标字体以及使用方法整理
常用网站app logo 下载: http://www.iconfont.cn/collections/show/268?spm=a313x.7781069.0.0.nDYawz 1.Web字体免费生 ...
- Android系统下的动态Dex加载与app速度优化
1 问题 在Android系统中,一个App的所有代码都在一个Dex文件里面.Dex是一个类似Jar的存储了多有Java编译字节码的归档文件.因为Android系统使用Dalvik虚拟机,所以需要把 ...
- [LeetCode OJ] Max Points on a Line—Given n points on a 2D plane, find the maximum number of points that lie on the same straight line.
//定义二维平面上的点struct Point { int x; int y; Point(, ):x(a),y(b){} }; bool operator==(const Point& le ...
- Objective-C中的协议(Protocol)和类别(Category)
1.什么是协议? 2.协议与类别的声明和使用 1.什么是协议? 在Objective-C中,不支持多继承,即不允许一个类有多个父类,但是OC提供了类似的实现方法,也就是协议.协议有点类似于Java里的 ...
- ls命令解析
ls 列出目录的内容.它可是我们所经常使用的命令,那么你了解它所有的功能吗?下面让我们来看看吧! 命令格式 ls [OPTION]... [FILE]... 参数说明 -a , --all 显示所有文 ...