2013-06-30 73 views
0

我已经搜索了各种其他类似的StackOverflow问题,但他们都没有提供解决方案。我有以下主干路由器设置:Backbone.js路由方法没有被调用

var AppRouter = Backbone.Router.extend({ 
routes: { 
    ""   : "homeAction", 
    "/portfolio" : "portfolioAction", 
    "/about_us" : "aboutUsAction", 
    "/contact" : "contactAction" 
}, 
initialize: function () { 

}, 
homeAction: function() { 
    alert("User has navigated home"); 
}, 
portfolioAction : function() { 
    alert('user have navigated to portfolio'); 
}, 
servicesAction: function() { 
    alert("User has navigated to services"); 
}, 
aboutUsAction: function() { 
    alert("User has navigated to about us"); 
}, 
contactAction: function() { 
    alert("User has navigated home"); 
}, 
requestQuoteAction: function() { 
    alert("User has requested to submit a quote"); 
} 
}); 

var app = new AppRouter(); 

$(function() { 
    Backbone.history.start(); 
}); 

当我导航到mydomain.com/# homeAction路由按预期调用。但是,如果我尝试导航到mydomain.com/#/portfolio,则什么都不会发生。任何想法为什么这个方法没有被调用?

回答

1

删除路线开始处的斜线应该起作用。

var AppRouter = Backbone.Router.extend({ 
routes: { 
    ""   : "homeAction", 
    "portfolio" : "portfolioAction", 
    "about_us" : "aboutUsAction", 
    "contact" : "contactAction" 
}, 
... 

然后尝试转到mydomain.com/#portfolio举例。

+0

我已经试过这个,只是试了一次,你的建议无济于事。 – RedBull

相关问题