Angular 路由器:使用 RouterLink、Navigate 或 NavigateByUrl 进行导航

这篇具有很好参考价值的文章主要介绍了Angular 路由器:使用 RouterLink、Navigate 或 NavigateByUrl 进行导航。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

介绍

在 Angular 中,RouterLink 是一个用于以声明方式导航到不同路由的指令。Router.navigateRouter.navigateByURLRouter 类中可用的两种方法,用于在组件类中以命令方式导航。

让我们来探讨如何使用 RouterLinkRouter.navigateRouter.navigateByURL

使用 RouterLink

HTML 中的典型链接如下所示:

<a href="/example">
  Example HTML link.
</a>

这个示例链接将用户引导到 /example 页面。

然而,单页面应用程序(SPA)没有不同的页面可供链接。相反,它有不同的 视图 可以展示给用户。为了允许用户导航和更改视图,您将希望使用 RouterLink 指令而不是 href

<a routerLink="/users/sammy">
  Link that uses a string.
</a>

这个 RouterLink 示例将用户引导到 /users/sammy 组件。

不同的 URL 段也可以像这样以数组的形式传递:

<a [routerLink]="['/', 'users', 'sammy']">
  Link that uses an array.
</a>

这两个示例格式不同,但将引导到相同的 /users/sammy 组件。

相对路径

您可以使用 '../ 来在导航中向上移动到更高级别,使用类似以下的内容:

<a [routerLink]="['../', 'posts', 'sammy']">
  Link that goes up a level.
</a>

在这个示例中,如果用户在 /users/sammy,导航将变为 /posts/sammy

可以在第一个 URL 段之前加上 ./../ 或没有前导斜杠。

参数

您可以通过在 URL 段列表中传递对象来传递参数到导航中:

<a [routerLink]="['/', 'users', {display: 'verbose'}, 'sammy']">
  Link with parameter.
</a>

在这个示例中,Router 将导航到 /users;display=verbose/sammy

命名出口

您可以告诉 Router 在命名的 outlet 中放置什么,类似以下的内容:

<a [routerLink]="['/', 'users', { outlets: { side: ['sammy'] } }]">
  Link with a side outlet.
</a>

在这个示例中,sammy 段将被放置在名为 sideoutlet 中。

也可以告诉 Router 在多个命名的 outlet 中放置什么,类似以下的内容:

<a [routerLink]="['/', 'users', { outlets: { side: ['sammy'], footer: ['sharks'] } }]">
  Link with a side and footer outlets.
</a>

在这个示例中,sammy 段将被放置在名为 sideoutlet 中,而 sharks 段将被放置在名为 footeroutlet 中。

使用 Router

在 Angular 的 Router 类中有两种方法可供在组件类中以命令方式导航:Router.navigateRouter.navigateByUrl。这两种方法都返回一个 promise,如果导航成功则解析为 true,如果没有导航则解析为 null,如果导航失败则解析为 false,如果出现错误则完全被拒绝。

要使用其中任何一种方法,首先要确保 Router 类被注入到您的组件类中。

首先,将 Router 导入到您的组件类中:

import { Component } from '@angular/core';
import { Router } from '@angular/router';

然后,将 Router 添加到依赖项中:

@Component({
  // ...
})
export class AppComponent {

  constructor(private router: Router) {
    // ...
  }

  // ...
}

现在,您可以使用 Router.navigateRouter.navigateByUrl

Router.navigate

您可以将 URL 段的数组传递给 Router.navigate

以下是使用 Router.navigate 方法的基本示例:

goPlaces() {
  this.router.navigate(['/', 'users']);
}

以下是演示 Router.navigate 如何 thenable 的示例:

goPlaces() {
  this.router.navigate(['/', 'users'])
    .then(nav => {
      console.log(nav); // 如果导航成功则为 true
    }, err => {
      console.log(err) // 当出现错误时
    });
}

在这个示例中,如果 Router.navigate 成功,它将显示 true。如果 Router.navigate 失败,它将显示一个错误。

Router.navigateByUrl

Router.navigateByUrlRouter.navigate类似,不同之处在于传入的是字符串而不是URL片段。导航应该是绝对的,并以/开头。

以下是使用Router.navigateByUrl方法的基本示例:

goPlaces() {
  this.router.navigateByUrl('/users;display=verbose/sammy');
}

在这个示例中,Router.navigateByUrl将导航到/users;display=verbose/sammy

结论

在本文中,您了解了Angular应用程序中的导航。您已经了解了RouterLinkRouter.navigateRouter.navigateByURL

如果您想了解更多关于Angular的信息,请查看我们的Angular主题页面,了解练习和编程项目。文章来源地址https://www.toymoban.com/news/detail-832513.html

到了这里,关于Angular 路由器:使用 RouterLink、Navigate 或 NavigateByUrl 进行导航的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 小米路由器怎么控制家电?小米路由器控制家电使用方法

    很多朋友在问小米路由器怎么控制家电,小米路由器控制家电功能该如何操作呢?这款设备能让家用电器变得智能吗?有兴趣的朋友可以查看下文的相关介绍,一起来了解小米路由器是如何控制家电的。   小米路由器是一个发烧的玩具,我们并不满足于最基本的无线上网、远程

    2024年02月06日
    浏览(55)
  • 微信路由器怎么设置?微信路由器安装设置使用教程

    微信路由器怎么设置?微信路由器是一种无线营销wifi路由器,用于微信营销方面可以快速增加粉丝数。下面yii666小编给大家带来微信路由器设置方法流程图,一起来学习下吧! 微信路由器可以很好地利用店铺带宽,使得商家品牌更充分展现。同时中文SSID显示更有利于粉丝的

    2024年02月08日
    浏览(44)
  • 华为荣耀路由器怎么样 华为荣耀路由器使用评测视频

    华为除了开卖荣耀x2之外,荣耀路由器也登场了哈。下面小编为大家分享了华为荣耀路由器评测视频,小伙伴们看过来撒。 华为荣耀路由器怎么样?华为荣耀路由配置功能详细介绍 这款荣耀路由器售价188元,内置双天线设计(双频2.4G/5G),机身体积为90×90×90mm,搭载了华为麒麟

    2024年02月08日
    浏览(50)
  • 路由器使用方法图解教程(路由器与计算机设置)

    路由器(Router)是连接因特网中各局域网、广域网的设备,它会根据信道的情况自动选择和设定路由,以最佳路径,按前后顺序发送信号的设备。 路由器是互联网络的枢纽、\\\"交通警察\\\"。目前路由器已经广泛应用于各行各业,各种不同档次的产品已成为实现各种骨干网内部连

    2024年02月06日
    浏览(51)
  • 路由器怎么设置使用?菜鸟必看的通用无线路由器设置教程

    无线路由器已经越来越普及,大多数用笔记本或者只能手机的,都希望能直接用WIFI连接上网,方便、省流量。但是,很多刚接触无线路由器的童鞋,都不晓得无线路由器怎么用。 虽然也有说明书,可是有些说明书确实是简述,需要研究上一段时间才能真正弄懂无线路由器怎

    2024年02月08日
    浏览(44)
  • 迅雷路由器怎么用 迅雷智能路由器安装设置使用图文教程详细介绍

    前不久迅雷推出了一款令笔者印象深刻的迅雷路由器,该路由器属于一款智能路由器,除了具备双频ac路由、千兆网卡接口、支持外接硬盘外,还有一项创新功能,号称是全球第一台会赚钱的路由器。对于这款神奇路由器该怎么用呢?以下yii666小编为大家演示一下迅雷路由器

    2024年02月06日
    浏览(52)
  • 小米路由器mini怎么用?小米路由器mini设置/使用视频教程

    小米路由器mini怎么用? 小编胖胖带来了小米路由器mini使用视频教程,很多朋友刚开始接触小米路由器mini,并不了解具体的使用方法,没关系,看完视频大家就能够了解咯~ 以上就是小米路由器mini使用视频,你看明白了吗?

    2024年02月07日
    浏览(63)
  • 设置使用5ghz频段无线路由器的详细方法(双频无线路由器)

    在网络应用中对带宽要求较高的在线视频、高清点播等业务,如果使用5GHz频段进行传输,无线连接稳定性和传输速速率将更有保障,在这里以TP-LINK双频无线路由器作为演示,教你如何设置使用5GHz频段无线路由器。 下面以TL-WDR4310为例介绍双频无线路由器在5GHz频段下的设置步

    2024年02月06日
    浏览(63)
  • TPlink路由器如何设置无线终端设备使用电脑来无线连接路由器

    ①设置电脑连接路由器的无线信号。 如果要使用电脑来无线连接路由器,首先要保证您的电脑配有无线网卡并能正常工作,对不同操作系统的电脑,其搜索并连接无线信号的方法如下: Windows XP系统: l 双击桌面右下角的无线网络连接图标 ,然后在打开的信号列表中选择路由

    2024年02月06日
    浏览(51)
  • 路由器如何做交换机使用 路由器当交换机用设置方法

    管理网络的朋友可能经常会遇到这样的情况,只有两台路由器,但网线只有一根,那么实现多台电脑同时上网就需要交换机,那么多余的一台路由器可以做交换机用吗?答案是肯定的,不过需要对路由器进行一定设置。最近笔者公司就出现这种情况要新增电脑,但没有交换机

    2024年02月05日
    浏览(56)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包