我有以下路线:
routes: {
"home": "login",
"login": "login",
"forum": "forum",
"group/:id/:group": "group",
"": "login",
}
如果我在页面论坛上,则URL为url.com/#forum,但如果我从论坛视图导航到组视图:
router.navigate("group/:123/:nicegroup", {trigger: true});
问题:然后网址更改为“url.com/group/123/nicegroup”。在此期间,“”路线将被调用,因为我认为没有“#”而空路线“”会被激活。我最终登录了登录页面。
问题:如果我删除“”路线,则从#forum导航到页面组:
router.navigate(“group /:123 /:nicegroup”,{trigger:true});
网址更改为url.com/group/123/nicegroup,而不在组前面的#。它工作正常,但如果我再回去推浏览器的后退按钮,则网址再次变为url.com/#forum,没有任何反应。我仍然留在组页面上,我收到错误:
Uncaught TypeError: Cannot call method 'indexOf' of undefined jquery.mobile-1.1.0.js:3791
$.extend.resetUIKeys jquery.mobile-1.1.0.js:3791
$.extend.hashValueAfterReset jquery.mobile-1.1.0.js:3803
$.extend.onPopState jquery.mobile-1.1.0.js:3863
jQuery.event.dispatch require-jquery.js:5385
jQuery.event.add.elemData.handle.eventHandle
同样,在第二个问题中我已经删除了“”路线,所以它不会打扰我,但它仍然是我的第一个问题。
我禁用了所有jqm导航。
$.mobile.ajaxEnabled = false;
$.mobile.linkBindingEnabled = false;
$.mobile.hashListeningEnabled = false;
$.mobile.pushStateEnabled = false;