html - Angular 6 - <a> href 被附加到基本 url

标签 html angular6

我在表中显示了一个用户列表,每个用户都有显示的链接,可以导航到该链接。

<div class="inline-icon-text">
  <small class="text-muted d-md-none mr-3">Link</small>
  <a [attr.href]="candidate.url" target="_blank" [title]="candidate.url">
    <i class="material-icons">open_in_new</i>
  </a>
</div>

问题是,当我检查链接元素时,它指向正确的地址,但在单击它后,它会附加到应用程序基本 url。

<a _ngcontent-c15="" target="_blank" href="www.test.sk" title="www.test.sk">...</a>

点击后它会在地址为 localhost:4200/www.test.sk 的新标签页中打开

我错过了什么?

最佳答案

始终在您的绝对外部链接前添加协议(protocol)或 // 快捷方式 http://https://,具体取决于您的应用程序协议(protocol)。

<div class="inline-icon-text">
  <small class="text-muted d-md-none mr-3">Link</small>
  <a [attr.href]="'//' + candidate.url" target="_blank" [title]="candidate.url">
    <i class="material-icons">open_in_new</i>
  </a>
</div>

浏览器默认将 URL 视为相对 URL 以促进应用内导航。

附带说明一下,这种行为不是 Angular 特有的;其他框架和普通站点的行为完全相同

关于html - Angular 6 - <a> href 被附加到基本 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51708218/

相关文章:

javascript - 从模型中删除项目时不会更新表单验证。漏洞?

javascript - 如何使用 jquery 在加载时间添加属性

html - 为什么我的列表项在列中中断?

javascript - 各种临时解决方法后,IE11音频标签不起作用

javascript - 输入时占位符不会消失

angular - 如何为 span Angular 6 设置 ngModel?

javascript - 删除列中的重复名称

javascript - 从堆栈中删除 Canvas 矩形

rxjs - Angular 6 单元测试 rxjs 6 操作符点击单元测试拦截器

firebase - Angular 6、NGXS 和 Firestore