diff options
Diffstat (limited to 'examples/modular-backbone/js/router.js')
-rw-r--r-- | examples/modular-backbone/js/router.js | 53 |
1 files changed, 29 insertions, 24 deletions
diff --git a/examples/modular-backbone/js/router.js b/examples/modular-backbone/js/router.js index e606f3e..4175c59 100644 --- a/examples/modular-backbone/js/router.js +++ b/examples/modular-backbone/js/router.js @@ -1,39 +1,44 @@ // Filename: router.js define([ - 'jQuery', - 'Underscore', - 'Backbone', - 'views/home/main', - 'views/projects/list', - 'views/users/list' -], function($, _, Backbone, mainHomeView, projectListView, userListView ){ + 'jquery', + 'underscore', + 'backbone' +], function($, _, Backbone ){ var AppRouter = Backbone.Router.extend({ routes: { // Define some URL routes - '/projects': 'showProjects', - '/users': 'showUsers', + 'projects': 'showProjects', + 'users': 'showUsers', // Default '*actions': 'defaultAction' - }, - showProjects: function(){ - // Call render on the module we loaded in via the dependency array - // 'views/projects/list' - projectListView.render(); - }, - // As above, call render on our loaded module - // 'views/users/list' - showUsers: function(){ - userListView.render(); - }, - defaultAction: function(actions){ - // We have no matching route, lets display the home page - mainHomeView.render(); } }); - var initialize = function(){ var app_router = new AppRouter; + app_router.on('route:showProjects', function(){ + require(['views/projects/list'], function(ProjectListView) { + // Call render on the module we loaded in via the dependency array + // 'views/projects/list' + var projectListView = new ProjectListView(); + projectListView.render(); + }) + }); + app_router.on('route:showUsers', function () { + require(['views/users/list'], function(UserListView) { + // As above, call render on our loaded module + // 'views/users/list' + var userListView = new UserListView(); + userListView.render(); + }); + }); + app_router.on('route:defaultAction', function (actions) { + require(['views/home/main'], function(MainHomeView) { + // We have no matching route, lets display the home page + var mainHomeView = new MainHomeView(); + mainHomeView.render(); + }); + }); Backbone.history.start(); }; return { |