这是一个简单的问题,但我是路由新手,无法找到答案。
我有一个木偶路由器(如果我吓到你,它和骨干路由器真的是一回事。非常简单)。
sys.routes = {
"app/:id": "onAppRoute",
};
sys.Router = new Marionette.AppRouter({
controller: {
onAppRoute: function(route) {
console.log('Called app route!');
},
},
appRoutes: sys.routes,
});
Backbone.history.start({pushState: true})
这有效 - 如果您点击我的浏览器的后退按钮,URL 将在我的单页应用程序中更改并调用该onAppRoute
函数。
但是,假设我打开一个新的浏览器窗口并将我的页面 url 粘贴到某个“应用程序”:
http://localhost/app/myApplication
这不会调用该onAppRoute
函数。虽然它甚至看起来不应该,但我真的不知道。
我想要它。
我不知道我是否做错了,或者我是否应该通过在页面加载时抓取我的页面 url,对其进行解析,然后“导航”到该路线来手动触发它。看起来很hacky。