Backbone.js项目开始

最近通读了一遍《Backbone.js实战》,对Backbone.js的api大致有了了解,Backbone依赖于underscore,提供model、collection、view以及router。

虽然大致了解,但不知道怎样开始一个程序,github上找到了一个资源,backbone+bootstrap。

项目地址:https://github.com/zjzhome/directory-backbone-bootstrap

 

 

这是项目目录,我们可以看到,是一个典型的单页应用,index.html作为入口文件,通过view加载tpl的html模板们,app.js里面是router,大致每个view对应一个js文件,model也是一个js文件。

对于一个app,给一个命名空间:

var directory = {

    views: {},

    models: {},

    loadTemplates: function(views, callback) {

        var deferreds = [];

        $.each(views, function(index, view) {
            if (directory[view]) {
                deferreds.push($.get(‘tpl/‘ + view + ‘.html‘, function(data) {
                    directory[view].prototype.template = _.template(data);
                }, ‘html‘));
            } else {
                alert(view + " not found");
            }
        });

        $.when.apply(null, deferreds).done(callback);
    }

};

之后的每个view或者model还有router都是在directory这个命名空间下。

 

directory.Router = Backbone.Router.extend({
    //....
})

directory.ShellView = Backbone.View.extend({
    //....
})

//等等

 

正在使用这种方式写一个webapp,也遇见好多问题,都写好了继续更新遇到的坑。

 

其实会发现这样需要在index.html里加载很多js文件,所以可以使用诸如requirejs异步加载或者seajs模块加载。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。