如何在chaplin.js中的url上使用hash(#),就像以前的主干网一样



假设我在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});

相关内容

  • 没有找到相关文章

最新更新