我正在使用Backbone.js require.js underscore.js来构建一个应用程序。在我的javascript中,我有一个mainrouter.js文件,它处理菜单选择。
该应用程序被分成几个部分,我希望每个部分都有一个sectionRouter.js文件。
由于某种原因,当尝试加载一个sectionRouter.js时,我得到以下错误
类型错误:未定义区段路由器
这是我的mainApplication.js文件代码
define([
'jquery',
'underscore',
'backbone',
'mainRouter', // Request mainRouter.js
'bootstrap',
'sectionRouter' // this is the
], function($, _, Backbone, Router,SectionRouter){
var initialize = function(){ // Pass in our Router module and call it's initialize function
Router.initialize();
initializeAnalytics();
//Initiate a new history and controller class
Backbone.emulateHTTP = true;
Backbone.emulateJSON = true;
Backbone.history.start();
};
var initializeAnalytics = function(){
SectionRouter.initialize();
};
var initializeAll = function(){
initialize();
initializeAnalytics();
};
return {
initialize: initialize
};
});
部分路由器:
var SectionRouter= Backbone.Router.extend({
//restfulUrl:"http://localhost:8080/myapp/", //This is the application service
//Routes tell the app what to do
routes:{
"analytics/consumptions":"consumptionsActions",
"analytics/contents":"contentsActions",
"analytics/users":"usersAction"
}
});
var initialize = function (){
var sectionConsoleRouter= new SectionRouter;
//map consumptionsAction routing
sectionConsoleRouter.on('route:consumptionsActions', function(){
SeriesStorage(url to call);
});
};
return {
initialize: initialize
};
您能告诉我是否可以同时加载mainRouter.js和其他sectionRouter.js文件吗?
编辑
是否可以在主路由器内部初始化sectionRouter?
1条答案
按热度按时间beq87vna1#
你已经在define函数参数列表中添加了bootstrap,但是这个列表与require数组中的模块不匹配,所以SectionRouter没有值(这就是为什么你得到“undefined”)。
请尝试:
也许还有其他事情可以改善你试图实现的目标,但这将回答你在这里提出的问题。