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