这听起来可能有点复杂。
这是支持pushState的SinglePage应用程序。我有一条用于配置的路由:
routes: {
'': 'dashboard',
'configure/sites/:id': 'configure',
'configure/sites/:id/:section': 'configureSection'
},我使用tbranyen/backbone-boilerplate way来导航urls。如果我单击仪表板a href="configure/sites/33中的href,则视图渲染正常。在浏览器URL中,我可以看到``localhost:12345/configure/site/33‘。
在configure视图上,我有一个菜单,里面有一些<a href=。
<ul class="nav configure-nav">
<li>
<a href="overview" class="overview">Overview</a>
</li>
<li>
<a href="configuration" class="configuration">Configuration</a>
</li>问题是,如果我尝试点击这些链接,id就会消失。

预期href:http://localhost:12345/configure/sites/33/configuration
实际href:http://localhost:12345/configure/sites/configuration
你能解释一下发生了什么以及如何修复它吗?
发布于 2012-10-02 12:56:09
我不知道这是否能解决你的问题,但是如果你在做一个单页面的应用,你应该在"localhost:12345/“后面加上一个hashbang,否则所有的请求都会被发送到服务器。
发布于 2013-02-03 22:44:24
这是由于相对链接和绝对链接的工作方式。在本例中,href是相对于路径中最接近的“目录”的(为了保持文件系统的相似性,可以将:id部分看作一个文件)。
如果您在路由中添加一个尾随斜杠,则概述和配置链接将被正确地根植。
https://stackoverflow.com/questions/12680024
复制相似问题