我正在使用主干和 requirejs 开发应用程序。我已经像这样构建了应用程序:
- 一个主 index.html 文件有
<script data-main="app.js" src="vendor-libraries/require.js"></script>
在 app.js 我这样做:
require.config({ paths:{ //all paths here }, shim: { // all shims here }, } }); require(['jquery', 'Backbone', 'views/master', 'views/dashboard', //all other views are loaded as dependencies here... ],function($,Backbone,masterView,dashboardView, .....){ var Router=Backbone.Router.extend({ routes:{ "":"loadDashboard", "home":"loadDashboard", //all routes paths go here }, initialize:function(){ this.children={ dashboardView: new dashboardView(), //all views initialized as the dashboard view } }, loadDashboard: function(){ this.children.dashboardView.render(); }, //functions for all routes here... }); var router = new Router(); var view=new masterView(); Backbone.history.start();
});
在主视图中,我只需单击按钮即可导航到相应的视图。
现在,我刚刚开始使用这个应用程序,我担心的是,按照上述工作流程可能会导致一次加载所有视图文件。在所有视图中,我都加载了几个模板。那么我最终会在页面渲染之前加载所有的 html 吗?如果是,上述方法中应该修改什么?