-_-#【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服务器端共享的数 ...
随机推荐
- 试答卓同学的 iOS 面试题
卓同学昨天写了一篇文章<4道过滤菜鸟的iOS面试题>.我手痒决定默写一个参考答案.后来发现不认真回答被大家喷成狗,所以决定积极改造,重新做人.下面就是修编之后的答案. 1. struct和 ...
- LNMP wget 记录
源码下载 下载cmake(MySQL编译工具) http://www.cmake.org/files/v3.0/cmake-3.0.0.tar.gz 下载libmcrypt(PHPlibmcrypt模 ...
- 500 OOPS: vsftpd: refusing to run with writable root inside chroot()解决方法
vsftpd.conf配置文件如下: [root@rusky ~]# cat /etc/vsftpd/vsftpd.conf | grep -v "#" anonymous_ena ...
- jQuery绑定事件的四种基本方式
Query中提供了四种事件监听方式,分别是bind.live.delegate.on,对应的解除监听的函数分别是unbind.die.undelegate.off. bind(type,[data], ...
- javascript实现Map
function Map() { this.elements = new Array(); // 获取MAP元素个数 this.size = function() { return this.elem ...
- 解决CSS中float:left后需要clear:both清空的繁琐步骤(转)
之前,因为公司专门有CSS+DIV的切片设计师,所以我一直都是注重程序的设计与开发.现在,因为接了一些Web网站的项目需要制作,就在空闲时间学习起了CSS.Jquery. 现在,大部分的横排导航都 ...
- 动态的显示当前的时间---setInterval的用法
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- StartCoroutine/StopCoroutineInvoke
本文由博主(YinaPan)原创,转载请注明出处:http://www.cnblogs.com/YinaPan/p/Unity_Coroutine.html using UnityEngine; us ...
- 【USACO 2.1.3】三值的排序
[题目描述] 排序是一种很频繁的计算任务.现在考虑最多只有三值的排序问题.一个实际的例子是,当我们给某项竞赛的优胜者按金银铜牌排序的时候.在这个任务中可能的值只有三种1,2和3.我们用交换的方法把他排 ...
- (转载)小课堂UI-Star Diamond Tutorial