返回顶部
首页 > 资讯 > 前端开发 > JavaScript >Angular中的ActivatedRoute和Router原理解释
  • 797
分享到

Angular中的ActivatedRoute和Router原理解释

Angular ActivatedRoute RouterActivatedRoute Router解释 2023-05-16 11:05:50 797人浏览 安东尼
摘要

目录angular中的ActivatedRoute和Router解释ActivatedRouteRouterAngular中的ActivatedRoute和Router解释 在An

Angular中的ActivatedRoute和Router解释

在Angular中,ActivatedRouteRouter是两个核心的路由服务。他们都提供可以用来检查和操作当前页面路由信息的方法和属性。

ActivatedRoute

ActivatedRoute是一个保存关于当前路由状态(如路由参数、查询参数以及其他数据)的对象。 它可以让开发人员从路由器中访问路由参数和查询参数。

ActivatedRoute是路由事件数据的载体。 这包括在导航期间收集的静态和动态段以及查询参数、Fragment等等。

例如,对于这个路由:

{ path: 'product/:id', component: ProductDetailComponent }

通过获取ActivatedRoute,我们可以轻松地访问id值:

import { Component } from '@angular/core';
import { ActivatedRoute } from '@angular/router';
@Component({
  selector: 'app-product-detail',
  template: 'Product Details Component'
})
export class ProductDetailComponent implements OnInit {
  constructor(private route: ActivatedRoute) {}
  nGonInit() {
    const id = +this.route.snapshot.paramMap.get('id');
    // ...
  }
}

在上面的代码示例中,ActivatedRoute通过注入该服务作为构造函数的参数而获取。接下来,我们只需使用快照对象(即this.route.snapshot)就可以快速访问路由参数。要获取参数的特定值,可以使用get方法访问params属性,该方法采用一个字符串参数并返回一个字符串:

const id = +this.route.snapshot.paramMap.get('id');

这里的加号意味着我们将结果转换为数字类型。

另一种访问路由参数的方法是通过订阅paramMap可观察值。subscribe`方法定义给observable带来副作用,就像任何** Rxjs **observable一样:

this.route.paramMap.subscribe(params => {
  const id = +params.get('id');
  // ...
});

这种方式允许动态更改URL。(你的组件不需要重新创建。)

Router

Router通过向前和向后导航和路由装置提供了一种明显且简单的编程api,同时仍然保留完全配置的强大能力。

路由器是一个抽象的概念,它用于选择输入URL,并将其转换为经过测试的规则来获取特定组件。 在Angular中,路由器是NgModule中的引导项之一。 路由器设置可能看起来非常困难,但是一旦了解了基本情况,它们就会感到自然。

基本导航

首先,我们根据常规用法配置Routes数组

// app-routing.module.ts file
import { Routes, RouterModule } from '@angular/router';
import { HomeComponent } from './home/home.component';
import { ProductListComponent } from './product-list/product-list.component';
import { ProductDetailComponent } from './product-detail/product-detail.component';
const routes: Routes = [
  { path: '', component: HomeComponent },
  { path: 'products', component: ProductListComponent },
  { path: 'products/:id', component: ProductDetailComponent }
];
@NgModule({
  imports: [RouterModule.forRoot(routes)],
  exports: [RouterModule]
})
export class AppRoutingModule { }

我们设定了三个路由:空路径(主页),产品列表和特定ID的产品。 每个路径都与对应的组件相关联。

然后,我们在模板或组件类中安排具有相应路由声明的链接:

<!-- home.component.html -->
<a routerLink="/">Home</a>
<a routerLink="/products">Product List</a>
<!-- product-list.component.html -->
<ul>
    <li *ngFor="let product of products">
        <a [routerLink]="['/products', product.id]">{{ product.name }}</a>
    </li>
</ul>
<!-- product-detail.component.html -->
<h2>Product Detail</h2>
<p>{{ product }}</p>

在上面的所有代码示例中,我们使用了routerLink指令完成路由导航。现在,当用户点击链接时,路由器会根据路径加载相应的组件并在指令的位置动态渲染该组件。

以上就是Angular中的ActivatedRoute和Router原理详解的详细内容,更多关于Angular ActivatedRoute Router的资料请关注编程网其它相关文章!

--结束END--

本文标题: Angular中的ActivatedRoute和Router原理解释

本文链接: https://lsjlt.com/news/209676.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Angular中的ActivatedRoute和Router原理解释
    目录Angular中的ActivatedRoute和Router解释ActivatedRouteRouterAngular中的ActivatedRoute和Router解释 在An...
    99+
    2023-05-16
    Angular ActivatedRoute Router ActivatedRoute Router解释
  • Angular中的ActivatedRoute和Router原理是什么
    这篇“Angular中的ActivatedRoute和Router原理是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“A...
    99+
    2023-07-06
  • Angular中zone.js的工作原理是什么
    这篇文章主要介绍“Angular中zone.js的工作原理是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Angular中zone.js的工作原理是什么”文章能...
    99+
    2024-04-02
  • MySQL中Router高可用的原理是什么
    今天就跟大家聊聊有关MySQL中Router高可用的原理是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Mysql route介绍什么是mysq...
    99+
    2024-04-02
  • 如何理解angular中的ErrorHandler
    本篇内容主要讲解“如何理解angular中的ErrorHandler”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何理解angular中的ErrorHandl...
    99+
    2024-04-02
  • 解释预乘alpha的工作原理
    预乘alpha是指在进行图形渲染时,将每个像素的RGB值乘以一个透明度值alpha。这个透明度值可以是介于0和1之间的任意实数,表示...
    99+
    2023-09-26
    alpha
  • Angular中NgTemplateOutlet指令的理解和用法是什么
    这期内容当中小编将会给大家带来有关Angular中NgTemplateOutlet指令的理解和用法是什么,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。最近在看一个培训项目...
    99+
    2024-04-02
  • 如何理解Angular中的路由
    这篇文章将为大家详细讲解有关如何理解Angular中的路由,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。!在 Angular 中,路由是以模块为单位的,每个...
    99+
    2024-04-02
  • 详解vue中$router和$route的区别
    我们在 vue 项目中一般都会用到路由,而 vue-router 是 vue.js 官方的路由管理器。 this.$route:当前激活的路由的信息对象。每个对象都是局部的,可以获取...
    99+
    2024-04-02
  • vue-router中query和params的区别解析
    目录认识vue-router一. query和params的知识点理解二. query和params的使用方法1.使用params传参,路由配置的时候path要带上动态参数2. 使用...
    99+
    2022-11-13
    vue-router query和params区别 vue-router query
  • Angular中组件样式的工作原理是什么
    这篇文章给大家分享的是有关Angular中组件样式的工作原理是什么的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 在开发 Angular 组件的过程中...
    99+
    2024-04-02
  • 解释Netdata中自动化故障恢复和反应脚本的工作原理
    Netdata中的自动化故障恢复和反应脚本是一种机制,用于监控系统状态并在检测到故障时自动采取行动。这些脚本可以根据预定义的规则执行操作,如重启服务、发送警报通知、执行自动修复程序等。 工作原理如下: 监控:Netdata会持续监控系统...
    99+
    2024-06-04
    zabbix
  • 聊聊Vue Router跨域报错的原因和解决方法
    Vue Router 跨域报错是一个很普遍的问题。在使用 Vue Router 路由时,如果跨域访问另一个网站或 API,会出现跨域报错。本文将介绍 Vue Router 跨域报错的原因和解决方法。一、跨域的原因在浏览器中,同源策略是一种安...
    99+
    2023-05-14
  • 如何理解Angular中的组件通讯和依赖注入
    这篇文章给大家介绍如何理解Angular中的组件通讯和依赖注入,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。 Angular组件间怎么进行通讯?依赖注入是什...
    99+
    2024-04-02
  • 如何理解Angular中的指令和管道以及服务
    这篇文章将为大家详细讲解有关如何理解Angular中的指令和管道以及服务,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1. 指令 Directive指令是 ...
    99+
    2024-04-02
  • JavaScript中的原型和原型链怎么理解
    这篇文章主要介绍“JavaScript中的原型和原型链怎么理解”,在日常操作中,相信很多人在JavaScript中的原型和原型链怎么理解问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大...
    99+
    2024-04-02
  • Java7和Java8中的ConcurrentHashMap原理解析
    目录Java7 中 ConcurrentHashMap初始化put 过程分析初始化槽: ensureSegment获取写入锁: scanAndLockForPut扩容: rehash...
    99+
    2024-04-02
  • 怎么理解Vue-Router中的导航钩子
    这篇文章主要讲解了“怎么理解Vue-Router中的导航钩子”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么理解Vue-Router中的导航钩子”吧!导航守卫“导航”表示路由正在发生改变。...
    99+
    2023-06-25
  • angular中默认路由的理解用法详解
    目录0.前言1.路由的功能及原理2.默认路由的使用0.前言 前一段时间折腾angular的路由折腾的够呛, 这篇文章简单介绍一下自己的理解及用法。 1.路由的功能及原理 一开始并不理...
    99+
    2024-04-02
  • c语言解释器的实现原理是什么
    C语言解释器的实现原理是将C语言源代码转换为可执行的机器代码并执行。下面是C语言解释器的基本实现原理:1. 词法分析:将源代码分解为...
    99+
    2023-08-08
    c语言
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作