0
我正在开发一个使用backbone和requirejs的应用程序。我已构成的应用程序这样的:骨干和requirejs应用程序中的应用程序结构
- 具有
<script data-main="app.js" src="vendor-libraries/require.js"></script>
在app.js我喜欢这个主index.html文件:
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加载?如果是,那么应该在上述方法中修改哪些内容?
这样会使其加载该视图每次用户浏览到这条路线的要求? – beNerd 2013-03-13 10:07:55
是的,它只会在浏览器遇到路由时才会请求浏览文件,无论如何,在第一次文件已经加载之后,所以它不会再被下载... – Ingro 2013-03-13 10:45:50
并且这是由requirejs管理的,以不下载文件再次?是我提到的应用程序的整个流程是正确的? – beNerd 2013-03-13 10:48:39