最近接触MVC,学习backbone,整理一些资料,加强记忆。
1.在Backbone.Model上调用extend()来创建Backbone模型。
1 | var User = Backbone.Model.extend({ |
2 | initialize: function(name){ |
3 | user.set({name:"coco test"}); |
5 | user.get("name") //coco test |
2.校验
01 | var User = Backbone.Model.extend({ |
02 | validate: function(atts){ |
03 | if(!atts.email || atts.email.length < 3){ |
04 | return "email must be at least 3 chars"; |
10 | user.bind("error",function(model,error){ |
14 | user.set({email:"co"});//校验失败,出发error,set()不会执行 |
3.使用哈西名为default的对象来制定默认属性
1 | var User = Backbone.Model.extend({ |
7 | (new User).get("gender"); //man |
4.集合。 //在Backbone中,模型实例的数据存放在多个集合中。
01 | var Users = Backbone.Collection.extend({ |
04 | //如果创立了一个初始化实例的函数,在初始化时可以调用它: |
05 | var users = new Users({name:"tony"},{name:"jerry"}); |
07 | var users = new Users; |
08 | users.add({name:"peter"}); |
10 | users.add([{name:"sky"},{name:"coco"}]); |
12 | users.remove(users.model[0]); |
14 | users.bind("add",function{user}{ |
15 | alert(user.get("name")); |
17 | users.bind("remove",function{user}{ |
18 | alert(user.get("name")); |
22 | var user = users.get("some-guid"); |
25 | ver user = users.get("some-cid"); |
27 | //当一个集合中的数据被改变后会触发change事件 |
28 | var user=new User({name: "coco"}); |
30 | var users= new Backbone.Collection; |
32 | users.bind("change",function(){ |
38 | user.set({name: "linn"}); |
5.控制集合内的排序
1 | var Users= Backbone.Collection.extend({ |
2 | comparator : function(user){ |
3 | //返回的值代表希望集合内部元素按合作规则排序 |
4 | return user.get("name"); //以name排序 |