Backbone簡單學習(第一發)

這兩天把Backbone源代碼敲了一遍。熟悉了內部的運行機制。。就開始幹Backbone了。。初來乍到、不喜勿噴、喜大普奔~~ app

跑到葉小釵的博客裏邊找了一些源代碼。。感受超級實用函數

先來扯下我瞭解的Backbonethis

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對象當作配置參數傳給contactListcollection啥都沒幹,就是綁定了view中的addone函數在事件add下邊Model就更簡單了,什麼都沒有,就新增了一個自定義屬性name在addDia函數中,新建了一個數據模型C,在實例化的同事傳入了屬性name的鍵值對,再將此模型添加到collection中,自動觸發add事件的回調函數addOne,將視圖添加到contactlist元素中,達到視圖和數據分離的效果。。Backbone的事件運行機制沒弄懂。。下一篇整個Backbone的Events對象,感受Events纔是整個Backbone的驅動器。。大牛也能夠把你的想法告訴我哦。。。記住。。喜大普奔~~~嘎嘎吧
相關文章
相關標籤/搜索