如果我向查询字符串添加新参数,则会触发路由更改事件,我不希望这种情况发生,我该如何解决?
例如我有路线' / #register'如果我添加新参数,例如' name = abc'然后路由成为' / #register?name = abc'这很好,但它也会触发路线改变事件。
请注意我使用window.location.hash添加查询字符串参数。
谢谢, MSK
答案 0 :(得分:1)
为什么不使用Backbone Router的navigate
方法。
router.navigate('/#register?name=abc')
navigate
方法接受第二个参数,即选项的哈希值。其中一个选项是trigger
,您可以使用它来触发路线更改。
如果不通过{ trigger: true }
,您的网址将会更新而不会触及您的路由器回调。
答案 1 :(得分:0)
更改网址并添加历史记录条目而不触发路线:
Backbone.history.navigate('/#register?name=abc')
要更改URL而不添加历史记录条目且不触发路径:
Backbone.history.navigate('/#register?name=abc', { replace: true })
这对于提供可收藏的网址非常有用,而无需向用户的后退按钮历史记录添加步骤。