听起来可能有点复杂。
这是SinglePage,pushState启用的应用程序。我有一条路线,用于配置:
routes: {
'': 'dashboard',
'configure/sites/:id': 'configure',
'configure/sites/:id/:section': 'configureSection'
},
我正在使用tbranyen / backbone-boilerplate way来导航网址。如果我从仪表板a href="configure/sites/33
单击某个href,则视图呈现正常。在浏览器URL中,我可以看到`localhost:12345 / configure / sites / 33'。
在配置视图中,我有一个菜单,里面有一些<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
你能解释一下发生了什么以及如何解决它吗?
答案 0 :(得分:0)
我不知道这是否能解决您的问题,但如果您正在制作单页应用,则应在“localhost:12345 /”之后添加一个hashbang,否则所有这些请求都将被发送到服务器。
答案 1 :(得分:0)
这是由于相对和绝对链接的工作方式。在你的情况下,hrefs是相对于路径中最近的“目录”(为了保持文件系统类比:id部分可以看作文件)。
如果向路径添加尾部斜杠,则概览和配置链接将正确生根。