我想在我的网址中使用哈希。当我使用下面的代码,网址去卡丁车/:NID但不是#卡丁车/:NID,因为我想要它。我的代码中没有启用pushState:true,所以不应该是问题。骨干历史浏览不保留哈希在网址
Backbone.history.navigate('#kart'+“/”+ this.model.get(“nid”),{trigger:true});
当我从函数中删除通配符时,url会保持哈希到“#kart”。
为什么通配符搞砸了?
感谢任何帮助!
我想在我的网址中使用哈希。当我使用下面的代码,网址去卡丁车/:NID但不是#卡丁车/:NID,因为我想要它。我的代码中没有启用pushState:true,所以不应该是问题。骨干历史浏览不保留哈希在网址
Backbone.history.navigate('#kart'+“/”+ this.model.get(“nid”),{trigger:true});
当我从函数中删除通配符时,url会保持哈希到“#kart”。
为什么通配符搞砸了?
感谢任何帮助!
想到几件事情。确保你没有明确地在你的代码中设置{hashChange: false}
。
如果您查看documentation的navigate
,您会注意到它们没有明确指定散列。所以,试试这个,而不是
Backbone.history.navigate("kart/" + this.model.get("nid"), { trigger: true});
不幸的是没有任何区别..但问题不是导航功能spesific。如果我在#地址栏中写入#kart/10并按回车键,它会自动转到卡丁车/ 10。我能以某种方式迫使它去#卡丁车/ 10?虽然它激发了正确的路由功能,但我仍然希望它保留哈希,因为如果我再次刷新一次url时没有哈希,它不会调用正确的路由 – Stinis87
感谢您的帮助家伙!我发现罪魁祸首是jQuery的移动
多年来一直没有与骨干工作,但你有没有考虑明确设置pushstate为false? – pushplaybang
是啊试过了,没有工作。 – Stinis87