2012-11-27 13 views
6

मैं Organizing your application using Modules (require.js का पालन करने की कोशिश कर रहा हूं, मैं यह समझने के लिए संघर्ष कर रहा हूं कि रूटिंग कैसे काम करती है।Backbone.js राउटर इवेंट बाध्यकारी

मैं सरल सूचकांक के लिए काम करने के लिए बाध्य नहीं कर सकते:

// Filename: router.js 
define([ 
    'jquery', 
    'underscore', 
    'backbone', 
    'views/projects/list' 
], function ($, _, Backbone, ProjectListView) { 
    var AppRouter = Backbone.Router.extend({ 
     routes: { 
      // Define some URL routes 
      '': 'index' 
     } 
    }); 

    var initialize = function() { 
     var app_router = new AppRouter(); 

     app_router.on('index', function() { 
      alert("index"); // this never gets called 
     }); 

     Backbone.history.start(); 

     return app_router; 
    }; 
    return { 
     initialize: initialize 
    }; 
});

जब पेज कुछ भी नहीं भरी हुई है होता है। हालांकि यह काम करता है:

// Filename: router.js 
define([ 
    'jquery', 
    'underscore', 
    'backbone', 
    'views/projects/list' 
], function ($, _, Backbone, ProjectListView) { 
    var AppRouter = Backbone.Router.extend({ 
     routes: { 
      // Define some URL routes 
      '': 'index' 
     }, 
     index: function() { alert("works"); } 
    }); 

    var initialize = function() { 
     var app_router = new AppRouter; 

     Backbone.history.start(); 

     return app_router; 
    }; 
    return { 
     initialize: initialize 
    }; 
}); 

क्या मुझे कुछ याद आ रही है?

उत्तर

10

ठीक है, तो यह कि यह कैसे हुआ है:


    var initialize = function() { 
     var app_router = new AppRouter(); 

     app_router.on("route:index", function() { 
      alert("hello world"); 
     }); 

     Backbone.history.start(); 

     return app_router; 
    }; 
+1

धन्यवाद आदमी, मैं सभी से शुक्रवार काम पर इस के साथ संघर्ष कर और अब मैं प्रकाश देखा है था;) – Puigcerber

+0

@Fdr http: // stackoverflow। कॉम/प्रश्न/20017210/राउटर-जेएस-फ़ंक्शन-निष्पादित नहीं है क्या आप यहां मेरी सहायता कर सकते हैं :) धन्यवाद – CodeGuru