详解Angular4中路由Router类的跳转navigate

发布时间 - 2026-01-11 01:49:11    点击率:

最近一直在学习angular4,它确实比以前有了很大的变化和改进,好多地方也不是那么容易就能理解,好在官方的文档和例子是中文,对英文不太好的还是有很大帮助去学习。

官方地址:https://angular.cn/docs/ts/latest/api/router/index/Router-class.html

在学习的过程中路由(router)机制是离不开的,并且好多地方都要用到。

首先路由配置Route:

import { NgModule }       from '@angular/core';
import { RouterModule, Routes } from '@angular/router';
 
import { HomeComponent }  from './home.component';
import { LoginComponent }   from './login.component';
import { RegisterComponent } from './register.component';
 
 const routes: Routes = [
  { path: '', redirectTo: '/home', pathMatch: 'full' },
  { path: 'home', component: HomeComponent },
  { path: 'login', component: LoginComponent },
  { path: 'heroes',   component: RegisterComponent }
 ];
 
 @NgModule({
  imports: [ RouterModule.forRoot(routes) ],
  exports: [ RouterModule ]
 })
 export class AppRoutingModule {}

 其次路由跳转Router.navigate

 navigate(commands: any[], extras?: NavigationExtras) : Promise<boolean>
 interface NavigationExtras {
  relativeTo : ActivatedRoute
  queryParams : Params
  fragment : string
  preserveQueryParams : boolean
  queryParamsHandling : QueryParamsHandling
  preserveFragment : boolean
  skipLocationChange : boolean
  replaceUrl : boolean
}

1.以根路由跳转/login

this.router.navigate(['login']);

2.设置relativeTo相对当前路由跳转,route是ActivatedRoute的实例,使用需要导入ActivatedRoute

this.router.navigate(['login', 1],{relativeTo: route}); 

3.路由中传参数 /login?name=1

this.router.navigate(['login', 1],{ queryParams: { name: 1 } }); 

4.preserveQueryParams默认值为false,设为true,保留之前路由中的查询参数/login?name=1 to /home?name=1

this.router.navigate(['home'], { preserveQueryParams: true }); 

5.路由中锚点跳转 /home#top

 this.router.navigate(['home'],{ fragment: 'top' });

6.preserveFragment默认为false,设为true,保留之前路由中的锚点/home#top to /role#top

this.router.navigate(['/role'], { preserveFragment: true }); 

7.skipLocationChange默认为false,设为true,路由跳转时浏览器中的url会保持不变,但是传入的参数依然有效

this.router.navigate(['/home'], { skipLocationChange: true });

8.replaceUrl默认为true,设为false,路由不会进行跳转

this.router.navigate(['/home'], { replaceUrl: true }); 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# Angular  # 跳转navigate  # vue  # 路由跳转  # angular4  # Angular学习教程之RouterLink花式跳转  # 详解angular路由高亮之RouterLinkActive  # angularjs路由传值$routeParams详解  # 详解Angular4 路由设置相关  # 浅谈Angular路由守卫  # angular2中router路由跳转navigate的使用与刷新页面问题详解  # angular2路由之routerLinkActive指令【推荐】  # 跳转  # 设为  # 默认为  # 是有  # 都要  # 就能  # 英文  # 比以前  # 值为  # 大家多多  # 过程中  # 中传  # 器中  # 文档  # 不太好  # component  # LoginComponent  # login  # RouterModule  # core 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 如何挑选高效建站主机与优质域名?  Laravel的路由模型绑定怎么用_Laravel Route Model Binding简化控制器逻辑  如何构建满足综合性能需求的优质建站方案?  Laravel如何生成和使用数据填充?(Seeder和Factory示例)  UC浏览器如何设置启动页 UC浏览器启动页设置方法  JavaScript如何操作视频_媒体API怎么控制播放  Laravel DB事务怎么使用_Laravel数据库事务回滚操作  Java Adapter 适配器模式(类适配器,对象适配器)优缺点对比  ChatGPT回答中断怎么办 引导AI继续输出完整内容的方法  昵图网官方站入口 昵图网素材图库官网入口  Laravel如何安装Breeze扩展包_Laravel用户注册登录功能快速实现【流程】  青岛网站建设如何选择本地服务器?  Laravel如何使用Telescope进行调试?(安装和使用教程)  HTML透明颜色代码怎么让下拉菜单透明_下拉菜单透明背景指南【技巧】  儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?  ChatGPT怎么生成Excel公式_ChatGPT公式生成方法【指南】  创业网站制作流程,创业网站可靠吗?  如何在橙子建站中快速调整背景颜色?  Laravel如何集成微信支付SDK_Laravel使用yansongda-pay实现扫码支付【实战】  高端企业智能建站程序:SEO优化与响应式模板定制开发  如何在云虚拟主机上快速搭建个人网站?  详解Oracle修改字段类型方法总结  Laravel如何集成Inertia.js与Vue/React?(安装配置)  如何快速搭建二级域名独立网站?  用yum安装MySQLdb模块的步骤方法  如何为不同团队 ID 动态生成多个独立按钮  网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的?  绝密ChatGPT指令:手把手教你生成HR无法拒绝的求职信  Laravel如何处理文件上传_Laravel Storage门面实现文件存储与管理  Laravel如何使用Blade模板引擎?(完整语法和示例)  宙斯浏览器怎么屏蔽图片浏览 节省手机流量使用设置方法  Laravel如何使用Eloquent ORM进行数据库操作?(CRUD示例)  制作企业网站建设方案,怎样建设一个公司网站?  Laravel的契約(Contracts)是什么_深入理解Laravel Contracts与依赖倒置  1688铺货到淘宝怎么操作 1688一键铺货到自己店铺详细步骤  PHP怎么接收前端传的文件路径_处理文件路径参数接收方法【汇总】  Laravel如何监控和管理失败的队列任务_Laravel失败任务处理与监控  jimdo怎样用html5做选项卡_jimdo选项卡html5实现与切换效果【指南】  如何彻底卸载建站之星软件?  Midjourney怎么调整光影效果_Midjourney光影调整方法【指南】  邀请函制作网站有哪些,有没有做年会邀请函的网站啊?在线制作,模板很多的那种?  Laravel如何实现多对多模型关联?(Eloquent教程)  香港服务器如何优化才能显著提升网站加载速度?  php后缀怎么变mp4格式错误_修改扩展名提示格式不对怎么办【技巧】  Laravel如何使用集合(Collections)进行数据处理_Laravel Collection常用方法与技巧  香港服务器网站卡顿?如何解决网络延迟与负载问题?  Javascript中的事件循环是如何工作的_如何利用Javascript事件循环优化异步代码?  java获取注册ip实例  如何基于云服务器快速搭建网站及云盘系统?  Laravel怎么实现搜索高亮功能_Laravel结合Scout与Algolia全文检索【实战】