假设我在chaplin.js站点上有两个"页面"(端点)
路线:
match('', 'first_controller#show');
match('second_view', 'second_controller#show');
和两个链接:
<a href="{{#url "first_controller#show" }}{{/url}}">Go to home</a>
<a href="{{#url "second_controller#show" }}{{/url}}">Go to Second</a>
生成的url是"正确的":
mysite.com/something/ (home)
mysite.com/something/second_view (second view)
(请注意,我不在网站的根目录上)。当我在"主页"启动应用程序,然后单击"转到第二个"链接时,我会正确地重定向到第二个视图,所有内容都会正确提交,浏览器上的url会更改为mysite.com/something/second_view
但是,我无法刷新导航器,因为我的Web服务器将尝试访问second_view
文件夹,我将得到404。
我需要的是始终使用类似于主干中#
的mysite.com/something/#/second_view
生成url。
BTW:最后一个链接有效,但chaplin删除了#
(就像重定向一样)
也许我需要配置一些东西?或者在"帮助者"上更改一些内容,我在文档中找不到任何内容。有什么想法吗??
Thxs
Backbone本身通过允许开箱即用的功能
Backbone.history.start({pushState: false})
(默认)
您可以在此处看到startHistory调用。您只需要将这个选项对象作为第二个参数传递给Application
:中的initRouter
this.initRouter(routes, {pushState: false});