使用BackBone建立一個應用程序結構

依賴

 backbone依賴jquery/Zepto,underScore

創(chuàng)建項目的目錄結構

1 lib/: 用于存放第三方庫文件的目錄,包括bcakbone、underscore、jquery
2 js/: 用于存放項目中用到的Js文件,包括main等
3 index.html

實例


    $(document).ready(function() {
    
    //model 模型
    var InvoiceItemModel = Backbone.Model.extend({
        defaults:{
            price:0,
            quantity:0
        },

        calculateAmount: function(){
            return this.get('price') * this.get('quantity');
        }

    });

    //View 模型
    var PreviewInvoiceItemView = Backbone.View.extend({
        // 下文中的\用于連接字符串
        template:_.template('\
                price:<%= price%>.\
                Qunatity:<%= quantity%>.\
                Amount:<%= amount%>.\
            '),
        render:function(){
            var html = this.template({
                price:this.model.get('price'),
                quantity:this.model.get('quantity'),
                amount:this.model.calculateAmount()
            });
            $(this.el).html(html);
        }
    });

    //啟動初始化
    var invoiceItemModel = new InvoiceItemModel({
        price:2,
        quantity:3
    });

    var previewInvoiceItemView = new PreviewInvoiceItemView({
        //使用這種方式綁定view與model
        model:invoiceItemModel,
        el:'body'
    });

    previewInvoiceItemView.render();
});

關于路由

繼承于Router,定義routes來確定區(qū)分不同的

    var Workspace = Backbone.Router.extend({
        routes:{
            '':'invoiceList',
            'invoice':'invoiceList'
        },
        invoiceList:function(){
            var invoiceListView = new InvoiceListView({
                el:'body'
            });
            invoiceListView.render();
        }
    });


    var InvoiceListView = Backbone.View.extend({
        render:function(){
            document.write('123456');
        }
    })


    new Workspace();
    Backbone.history.start();
});
最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 134,923評論 18 139
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,268評論 25 708
  • 路由是實現(xiàn)模塊間解耦的一個有效工具。如果要進行組件化開發(fā),路由是必不可少的一部分。目前iOS上絕大部分的路由工具都...
    黑超熊貓zuik閱讀 3,972評論 8 52
  • 說起身邊很熟悉,很重要的人,我便想起了我三年級認識的一個人,她是我最好的朋友。她本人長得不錯,一身高雅的氣質(zhì),因為...
    百合花張馨文閱讀 362評論 0 0
  • 樹木叢生 溪流潺潺 逆流而上 踮起腳尖好難 雖然你知道沒踮起腳尖是不可能成功 可是要先活著 小魚只能在下游慢慢的跟...
    楓葉末鷺閱讀 109評論 0 0