带有 href 的链接在 Angular 应用程序中不起作用

劳拉·赛德尔

我刚刚将 Angular 应用程序作为静态 Web 应用程序部署到 Azure 中。

当我尝试在视图之间导航时,通过链接导航时出现 404 错误,但通过角度/路由器导航工作正常。在本地,这两种方法都有效,只有在部署到 Azure 后才会出现问题。我已尝试解决此处描述的问题,但这对我不起作用。

例如:

app.component.ts

import { Router } from '@angular/router';
...

goToNews(): void {
    this.router.navigate(['/news'])
}

app.component.html

<a class="nav-link" (click)="goToNews()">News</a> <!-- works -->
<a class="nav-link" href="/news">News</a>         <!-- does not work -->

第一个链接工作正常,但第二个链接没有。在 url 中键入视图的路由也会导致 404 错误。

有谁知道,为什么会发生这种情况或如何解决?

谢谢 :)

H3AR7B3A7

角路由器

问题在于 anker 元素的 href 不知道您的 Angular 路由器。使用角度路由器的正确方法是使用 routerLink 指令:

<a routerLink="/news">News</a>

您还可以使用相对路径或使用 href 的完整路径:

<a href="https://angular-ivy-7dotr6.stackblitz.io/other">Other</a> | <!-- BAD PRACTICE-->
<a href="../home">Home2</a> <!-- BAD PRACTICE-->

但是,通过这样做,您并没有使用角度路由器,并且浏览器看起来会令人耳目一新。这是一个不好的做法,但我将它包含在Stackblitz上的一个示例中,以便您查看差异并了解发生了什么。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使带有#id 的锚链接在 Angular 中按预期工作

下载文件链接在Angular中不起作用

外部链接在 Angular 2 中不起作用

带有链接的iOS临时分布式应用程序不起作用

tel:href“点击通话”链接在Android中不起作用

为什么我的<a href>链接在此浮动<div>中不起作用?

<script> 在 angular 5 组件中不起作用(带有 Angular 2+ 的格子链接)

angular:如果容器的容器具有ng-click,则锚链接在android上不起作用

为什么 Docker 撰写链接在反应应用程序中不起作用?

带有引导按钮的链接在Firefox中不活动

Angular-尝试使用深层链接,但仅打开应用程序,路由不起作用

我的多路由器出口链接在Angular中不起作用

Angular RouterLink链接在sb admin 2 bootstrap 4模板的边栏中不起作用

在javascript中打开带有href链接的弹出窗口

防止独立Web应用程序中的链接在轨道上打开带有模式的Mobile Safari

具有重定向的通用链接在iOS中不起作用

淡出所有内容,但悬浮链接在Chrome中不起作用

动态生成的html链接在Firefox中有效,但在Chrome中不起作用

jsPDF Acroforms 在 Angular 应用程序中不起作用

Angular 资源在 Cordova 应用程序中不起作用

videojs在Angular 2应用程序中不起作用

'setValue'方法在Angular应用程序中不起作用

HashLocationstrategy 在 angular 6 应用程序中不起作用

Rails 6应用程序链接在刷新之前不起作用

动态链接在应用程序关闭时不起作用,仅在后台时

带有元标记的应用链接页面不起作用

阻止全屏Web应用程序中的所有链接在Safari中打开?

链接在 Razor 中不起作用

链接在div中不起作用