假设我在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>
生成的网址是“正确的”:
mysite.com/something/ (home)
mysite.com/something/second_view (second view)
(注意我不在网站的根目录上)。当我在“主页”启动应用程序然后单击“转到第二个”链接时,我被正确地重定向到第二个视图,所有内容都正确投标,浏览器上的网址更改为mysite.com/something/second_view
但是我无法刷新导航器,因为我的网络服务器会尝试访问second_view
文件夹,而我会得到404.
我需要的是始终使用骨干中的#
生成网址,例如mysite.com/something/#/second_view
。
BTW:最后一个链接有效,但是chaplin删除#
(如重定向)
也许我需要配置一些东西?或者更改ùrl`helper上的内容,我在文档中找不到任何内容。任何想法??
Thxs
答案 0 :(得分:3)
Backbone本身通过
开箱即可使用此功能Backbone.history.start({pushState: false})
(默认)
您可以看到startHistory call here。
您只需将此选项对象作为第二个参数传递到initRouter
中的Application
:
this.initRouter(routes, {pushState: false});