Javascript 主干路由器.on事件未从url触发
当用户输入URL(whatever.com)/questions/new时,我试图触发主干事件 我的路由器如下所示:Javascript 主干路由器.on事件未从url触发,javascript,backbone.js,router,Javascript,Backbone.js,Router,当用户输入URL(whatever.com)/questions/new时,我试图触发主干事件 我的路由器如下所示: define(['backbone'],function(BackBone){ var routeExtend = Backbone.Router.extend({ routes: { "": "home", "questions/new": 'newQuestion'
define(['backbone'],function(BackBone){
var routeExtend = Backbone.Router.extend({
routes: {
"": "home",
"questions/new": 'newQuestion'
},
});
var initialize = function(){
var Router = new routeExtend();
Router.on('route:newQuestion', function() {
console.log('new question');
});
BackBone.history.start();
return Router;
}
return {initialize:initialize};
});
如果我在我的应用程序中调用router.navigate,事件将正常启动
但是,如果“questions/new”是提供给web浏览器的初始URL,我希望能够触发“on”事件。有没有办法做到这一点 您可以定义函数而不是router.on事件
var routeExtend = Backbone.Router.extend({
routes: {
"": "home",
"questions/new": 'newQuestion'
},
newQuestion: function() {
console.log('new question');
}
});
您正在传入主干网,但正在扩展主干网。第3行的路由器,注意您的情况Hi Joe请详细说明。第1行,您正在将require调用的结果分配给变量主干网(CamelCase),然后您在第3行使用主干网,该主干网必须未定义或在别处全局定义,但这和你在下面使用的主干不同。谢谢你的提醒。修正了拼写问题。但这并不能解决路由问题,你知道我所问的是否可行吗?