summaryrefslogtreecommitdiffstats
path: root/examples/modular-backbone/js/router.js
diff options
context:
space:
mode:
Diffstat (limited to 'examples/modular-backbone/js/router.js')
-rw-r--r--examples/modular-backbone/js/router.js53
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 {