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的驱动器。。大牛也可以把你的想法告诉我哦。。。记住。。喜大普奔~~~嘎嘎吧
posted @ 2015-11-28 19:13  丶More  Views(152)  Comments(0)    收藏  举报