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


Posted in Javascript onJune 09, 2017

最近一直在学习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 });

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

Javascript 相关文章推荐
js+FSO遍历文件夹下文件并显示
Mar 07 Javascript
javascript实现的动态添加表单元素input,button等(appendChild)
Nov 24 Javascript
ext实现完整的登录代码
Aug 08 Javascript
Jquery实现Div上下移动示例
Apr 23 Javascript
Javascript中设置默认参数值示例
Sep 11 Javascript
AngularJS的内置过滤器详解
May 14 Javascript
利用Angularjs和Bootstrap前端开发案例实战
Aug 27 Javascript
深究AngularJS中$sce的使用
Jun 12 Javascript
实例学习JavaScript读取和写入cookie
Jan 29 Javascript
JavaScript实现简单贪吃蛇效果
Mar 09 Javascript
详解vue v-model
Aug 31 Javascript
JavaScript中展开运算符及应用的实例代码
Jan 14 Javascript
基于vue2.0实现的级联选择器
Jun 09 #Javascript
JavaScript设计模式之代理模式详解
Jun 09 #Javascript
vue.js+Echarts开发图表放大缩小功能实例
Jun 09 #Javascript
vue2 中如何实现动态表单增删改查实例
Jun 09 #Javascript
JS创建Tag标签的方法详解
Jun 09 #Javascript
JavaWeb表单及时验证功能在输入后立即验证(含用户类型,性别,爱好...的验证)
Jun 09 #Javascript
JS实现的随机排序功能算法示例
Jun 09 #Javascript
You might like
$_GET['goods_id']+0 的使用详解
2013/06/06 PHP
javascript 面向对象思想 附源码
2009/07/07 Javascript
javascript十个最常用的自定义函数(中文版)
2009/09/07 Javascript
分享8款优秀的 jQuery 加载动画和进度条插件
2012/10/24 Javascript
jQuery学习笔记之创建DOM元素
2015/01/19 Javascript
2则自己编写的jQuery特效分享
2015/02/26 Javascript
简单谈谈node.js 版本控制 nvm和 n
2015/10/15 Javascript
简单实现jQuery进度条轮播实例代码
2016/06/20 Javascript
jQuery实现的placeholder效果完整实例
2016/08/02 Javascript
js实现图片缓慢放大缩小效果
2016/08/02 Javascript
完美解决jQuery符号$与其他javascript 库、框架冲突的问题
2016/08/09 Javascript
浅谈jQuery中的eq()与DOM中element.[]的区别
2016/10/28 Javascript
jQuery插件FusionCharts实现的3D柱状图效果实例【附demo源码下载】
2017/03/03 Javascript
jQuery插件echarts实现的去掉X轴、Y轴和网格线效果示例【附demo源码下载】
2017/03/04 Javascript
Node.js通过身份证号验证年龄、出生日期与性别方法示例
2017/03/09 Javascript
vue路由嵌套的SPA实现步骤
2017/11/06 Javascript
微信小程序中的列表切换功能实例代码详解
2020/06/09 Javascript
Vue element-ui父组件控制子组件的表单校验操作
2020/07/17 Javascript
js实现表格单列按字母排序
2020/08/12 Javascript
JS使用setInterval计时器实现挑战10秒
2020/11/08 Javascript
[02:39]DOTA2英雄基础教程 极限穿梭编织者
2013/12/05 DOTA
[01:10]DOTA2次级职业联赛 - U5战队宣传片
2014/12/01 DOTA
python中使用urllib2伪造HTTP报头的2个方法
2014/07/07 Python
Python计算一个点到所有点的欧式距离实现方法
2019/07/04 Python
PyTorch: 梯度下降及反向传播的实例详解
2019/08/20 Python
详解Python并发编程之从性能角度来初探并发编程
2019/08/23 Python
python 统计文件中的字符串数目示例
2019/12/24 Python
解决Pyinstaller打包软件失败的一个坑
2021/03/04 Python
中东奢侈品购物网站:Ounass
2020/09/02 全球购物
营销人才自我鉴定范文
2013/12/25 职场文书
《学棋》教后反思
2014/04/14 职场文书
食品销售计划书
2014/04/26 职场文书
搞笑的爱情检讨书
2014/10/01 职场文书
2016秋季校长开学典礼致辞
2015/11/26 职场文书
MongoDB 常用的crud操作语句
2021/06/20 MongoDB
使用vue判断当前环境是安卓还是IOS
2022/04/12 Vue.js