如果有查询,是否有办法激活backbone.js路由?
简单示例 - 我需要确保
somepage?*params : "some func"
访问some func
时,不会触发/somepage
显然,如果没有参数,我可以突破该功能,但我正在寻找一个只需重新格式化路线的答案。
答案 0 :(得分:0)
首先让我们假设您在扩展路由器上使用路由哈希:
var MyRouter = Router.extend({
routes: {
'somepage?*params': 'someevent'
}
});
var myRouter = new MyRouter();
myRouter.on("all", function(){console.log(arguments)}); // this will allow us to see a hit
Backbone.history.start();
myRouter.navigate("somepage", {trigger: true}); // => nothing
myRouter.navigate("somepage?test=1", {trigger: true}); // => ['someevent', 'test=1']
这应该证明它可以像你期望的那样工作。