I want to start my Backbone router at a specific action sometimes, different than the one that was navigated to. How can I change it so that when I call Backbone.history.start it goes to a specific action/fragment other than the one in the URL?

Backbone.history.start
  pushState: true
  root: "/"

Maybe there's some option, or maybe there's a way for me to change the fragment before making that function call?

Thanks!

有帮助吗?

解决方案

Just pass "silent" option and than call "navigate":

Backbone.history.start({ silent: true });
router.navigate('test', { trigger: true });

In this case hash that was before you called Backbone.history.start will be ignored. Hash will be changed to 'test' and the same route function will be called.

其他提示

The Backbone.history.navigate will navigate to the route in the first argument, if the second argument is true, it will also trigger the route function.

Backbone.history.navigate('users/sam', true);
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top