是否存在这种可能性?我们的网站不是一个页面,但是在application.js内部压缩的所有js文件,是否可以使用骨干路由器进行location.path解析?
我尝试Backbone.history.start(pushState:true).它适用于我,但它是否正确?我只需要初始解析,而不是复杂的路由和重定向通过Backbone.Router.
解决方法
您只能使用标准路由器.当您实例化并启动历史记录对象时,您可以设置它应该使用的根目录作为其基础.在这种情况下,您似乎想使用’/’
var MyRouter = Backbone.Router.extend({ routes: { "application/": "somefunc" } } var app = new MyRouter(); Backbone.history.start({pushState: true,root: '/'});
在服务器上调用任何目录时,您需要将Web服务器设置为提供HTML文件(因此,骨干网,而不是rails,将处理您的路由).
最后,在HTML文件中,我有一个在Dom上运行的功能,并将该路径从URL中拉出并传递给它.
var path = location.pathname; app.navigate(path,{trigger: true});