backbone初步(秒味课堂)

作者:zccst

作为一个大型程序框架,backbone的思路是很好的
下面就好好学习一下

基本使用:
1,直接创建对象
2,给构造函数添加实例方法和静态方法
3,继承操作
4,自定义事件
5,数据与服务器
6,路由与历史管理
7,事件委托
8,前端模板


举例:
1,直接创建对象
var o = Backbone.Model();

2,给构造函数添加实例方法和静态方法

3,继承操作
A是一个Model,添加了aa方法
B是一个继承A的Model,则B的对象也有aa方法

4,自定义事件

var M = Backbone.Model.extend({
default:{
name:'hello'
},
//初始化构造函数
initialize:function(){
//表示model发生变化时触发
/*this.on('change',function(){
alert(123);
});*/
this.on("change:name",function(model){
console.log(model);
});
}
});
var m = new M();
m.set("name","w1");
m.set("name","w2");
m.set("name","w3");


/**模型与视图相结合的例子*/
var M = Backbone.Model.extend({
default:{
name:'hello'
}
});
var V = Backbone.View.extend({
//初始化构造函数
initialize:function(){
//表示model发生变化时触发
this.listenTo(model, 'change', show);
},
show :function(model){
$("body").append("<div>"+model.get("name")+"</div>");
}
});
var m = new M;
var v = new V({model:m});//model与view发生联系是将model对象传入view对象
m.set("name","ww");

5,数据与服务器

Backbone.sync = function(method_name, model, callback){
console.log(method_name + JSON.stringify(model));
model.id = 1;
};

var M = Backbone.Model.extend({
default:{
name:'hello'
},
url:"/user"
});

var m = new M;
m.save();//保存,调用validate,调用sync,第一次是create,第二次是update
m.save("name","ww");


还有Collection与服务器端调用(待续)


6,路由与历史管理
当在浏览器输入不同的URL时,调用不同的方法

var R = Backbone.View.Route({
routes : { //路由映射
'help' : help,
'help/method': search,
}
help : function(){alert('a');},
search : function(){alert('b');}
});
var r = new R;
history.start();

对于历史管理:就是在前进或后退时也会触发调用(因为URL发生了变化)


7,事件委托

var V = Backbone.View.extend({
el:$("body"), //委托元素
events : { //委托事件
'click input' : aaa,
'mouseover li': bbb,
}
aaa : function(){alert('a');},
bbb : function(){alert('b');}
});

<body>
<input />
<ul><li>1</li></ul>
</body>


8,前端模板


例子分析:TODOS


如果您觉得本文的内容对您的学习有所帮助,您可以微信:
[img]http://dl2.iteye.com/upload/attachment/0109/0668/fb266dfa-95ca-3d09-b41e-5f04a19ba9a1.png[/img]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值