javascript - href 中的点符号替换整个 URL 路径

标签 javascript html angularjs href

我正在开发一个 AngularJS Web 应用程序,我需要在模板中使用 href 来启动子状态。长话短说,但 href 是我目前唯一的选择(不是 $state.go() 或 ui-sref 指令等替代品)。

基本上,我正在尝试启动一个路由到当前状态(父级)的子状态(模式窗口)。可以单击链接的当前 URL 示例为

localhost:3000/#/contact/aboutus

但这并不是整个应用程序中唯一可能的父子状态,因此我需要路径的初始部分保持动态。假设我正在尝试从此页面启动一个“目录”模式窗口,它对应于以下 URL:

localhost:3000/#/contact/aboutus/directory

我希望通过我拥有的以下代码可以做到这一点:

<div class="internal-margin">
    <a href="./directory">
        <span ng-bind-html="'{{link.label | translate}}'"></span>
    </a>
</div>

注意 href="./directory"。我正在尝试使用此点符号来附加到现有的 URL 路径。但是,当我单击页面上的链接时,它会将我定向到 URL:

localhost:3000/directory

整个路径被替换,这个 URL 是 404。为什么会发生这种情况?问题是否更深层次地存在于 ui 路由的发生方式中,或者我完全错过了一些东西?

最佳答案

您的解释没有考虑到您正在使用基于哈希的路由

./directory 不会附加到 url 哈希,并且其中没有哈希

手动编写 href 时,它必须是:

<a href="#/contact/aboutus/directory">

没有简写形式

关于javascript - href 中的点符号替换整个 URL 路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39945543/

相关文章:

HTML 在使用 javascript 单击按钮时显示更多文本

jquery-plugins - 是否可以使用 jQuery slimbox2 显示带有文本而不是图像的 div?

angularjs - AngularJS 将 JSON 数据绑定(bind)到表单

javascript - 谷歌地图信息窗口关闭不起作用

javascript - Angular 从 $http 请求获取数据给出未定义

javascript - 将数据从服务传递到 Controller

html - Angular js 标签内容 HTML 标签不呈现

javascript - UnityScript 与 Javascript

javascript - 在 JavaScript 中用不同颜色打印一系列数字

javascript - 如何在基于 angular-fullstack 的应用程序中包含库文件 (css/js)