<!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的更多相关文章

  1. -_-#【Backbone】Router

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  2. -_-#【Backbone】View

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  3. -_-#【Backbone】Collection

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  4. Linu下的Mysql学习详解_【all】

    Linux下Mysql简介 1.什么是Mysql(MariDB) 1.数据库:存储数据的仓库    2.关系型数据库:mysql(主流用5.5,5.6), oracle        本质:二维表   ...

  5. Mysql 系统学习梳理_【All】

    0.Linux学习---CentOS 7编译安装MySQL 8.0 1.Mysql学习---SQL语言的四大分类 2.Mysql学习---基础操作学习 3.Mysql学习---基础操作学习2 4.My ...

  6. 【Django】--Model字段

    参考地址:http://www.cnblogs.com/wupeiqi/articles/6216618.html 所有字段 AutoField(Field) --int自增列,必须填入参数prima ...

  7. Python 系统学习梳理_【All】

    Python学习 1. Python学习---Python安装与基础1205 2. Python学习---PyCharm的使用学习 3. Python学习---Python数据类型1206 4. Py ...

  8. Linux 下LNMP环境搭建_【all】

    LNMP = Linux + Nginx + Mysql + PHP 1.0 Linux环境搭建 Linux 系统安装[Redhat] 1.1. FastCGI介绍 1.什么是CGI(common g ...

  9. 企业级NFS网络文件共享服务_【all】

    1.1. 什么是NFS(1台机器提供服务) Network File System(网络文件系统)通过局域网让不同的主机系统之间共享文件或目录. NFS客户端可以通过挂载的方式将NFS服务器端共享的数 ...

随机推荐

  1. 【Deep Learning学习笔记】Dynamic Auto-Encoders for Semantic Indexing_Mirowski_NIPS2010

    发表于NIPS2010 workshop on deep learning的一篇文章,看得半懂. 主要内容: 是针对文本表示的一种方法.文本表示可以进一步应用在文本分类和信息检索上面.通常,一篇文章表 ...

  2. [PWA] 5. Hijacking one type of request

    Previously we saw how to Hijacking all the reqest, but this is not useful. So now we want to see how ...

  3. 数据挖掘方面重要会议的最佳paper集合

    数据挖掘方面重要会议的最佳paper集合,兴许将陆续分析一下内容: 主要有KDD.SIGMOD.VLDB.ICML.SIGIR KDD (Data Mining) 2013 Simple and De ...

  4. Protobuf的自动反射消息类型的方法

    1. 每个消息头部中带上type name,作为消息的类型标识 2. 通过type name可以找到描述符Descriptor*, FindMessageTypeByName 3. 通过描述符Desc ...

  5. Windows下Android Studio长时间停留在Building "Project Name" Gradle project info画面的解决方法

    问题描述: 创建好一个Android项目后,Android Studio长时间停留在Building [Project Name] Gradle project info画面不动. 原因: 此时And ...

  6. Day9 - Python 多线程、进程

    Python之路,Day9, 进程.线程.协程篇   本节内容 操作系统发展史介绍 进程.与线程区别 python GIL全局解释器锁 线程 语法 join 线程锁之Lock\Rlock\信号量 将线 ...

  7. ubuntu 配置Java jdk

    本文参考:http://www.cnblogs.com/memory4young/p/ubuntu-install-jdk.html 一.下载 到oracle官方网站下载jdk,博主下载时的版本是8u ...

  8. jquery Tab默认情况下自动切换

    <!DOCTYPE html><html lang="zh-CN"><head><meta http-equiv="Conten ...

  9. Android中px、dp、sp的区别

    px: 即像素,1px代表屏幕上一个物理的像素点: px单位不被建议使用,因为同样100px的图片,在不同手机上显示的实际大小可能不同,如下图所示(图片来自android developer guid ...

  10. UIView之常用方法

    UIView之常用方法 将一个视图添加为子视图,并使之在最上面显示 -(void)addSubView:(UIView *)view; 将指定子视图移动到顶部 -(void)bringSubViewT ...