Backbone简单学习(第一发)
这两天把Backbone源代码敲了一遍。熟悉了内部的运行机制。。就开始干Backbone了。。初来乍到、不喜勿喷、喜大普奔~~
跑到叶小钗的博客里边找了一些源代码。。感觉超级实用
先来扯下我了解的Backbone
1.Model、Collection、View静态属性没有多少,全部丢在原型里边,三个对象靠指针相互引用依赖,三个对象都强度依赖Events对象
2.三个对象以层级关系来引用
扯了这么久,我也不知道自己在扯些啥、上代码。。
var Contact = Backbone.Model.extend({
name : null
});
var ContactList = Backbone.Collection.extend({
initialize: function(models,options){
this.bind('add',options.view.addOne);
}
});
var AppView = Backbone.View.extend({
el: $('body'),
initialize: function(){
this.contacts = new ContactList(null, {view: this});
},
events: {
'click #addDia': 'addDia'
},
addDia: function(){
var name = prompt('请输入姓名');
var c = new Contact({name : name});
this.contacts.add(c);
},
addOne: function(model){
$('#contact-list').append('<li>' + model.get('name') +'</li>');
}
});
var app = new AppView();
先从实例化的view开始,view里边只针对collection中的ContactList进行了初始化操作,并把当前view对象当做配置参数传给contactList
collection啥都没干,就是绑定了view中的addone函数在事件add下边
Model就更简单了,什么都没有,就新增了一个自定义属性name
在addDia函数中,新建了一个数据模型C,在实例化的同事传入了属性name的键值对,再将此模型添加到collection中,自动触发add事件的回调函数addOne,将视图添加到contactlist元素中,达到视图和数据分离的效果。。
Backbone的事件运行机制没弄懂。。下一篇整个Backbone的Events对象,感觉Events才是整个Backbone的驱动器。。大牛也可以把你的想法告诉我哦。。。记住。。喜大普奔~~~嘎嘎吧

浙公网安备 33010602011771号