我有一个通过get请求加载的php页面,包含多个参数:index.php?page = 6& name = Virginia。一旦页面加载我然后初始化主干并使用它来呈现页面的一部分上的视图。问题是路由器似乎占用了我的整个URL并注册它,以便为了触发路由,我必须将以下内容附加到我的链接:。这有效,但很难看。我已经尝试将root参数更改为Backbone.history.start,但似乎无法让它正常工作。我敢肯定,大多数人都不会从带有查询参数的动态页面开始使用主干,但是我们非常感谢任何帮助。我尝试过从插件到不同正则表达式的各种解决方案,但无济于事。
答案 0 :(得分:0)
如果没有pushState,你根本无法做到这一点。我会做类似的事情:
var router = Backbone.Router.extend({
routes: {
'*url': 'defaultRoute'
},
defaultRoute: function(url) {
// just url argument and parse params out
}
});
实际上这对你来说是最简单的。对于params,你需要一个使用get
,set
和delete
方法的课程,这很简单,你可以找到大量的例子。