详解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 相关文章推荐
return false,对阻止事件默认动作的一些测试代码
Nov 17 Javascript
优化Jquery,提升网页加载速度
Nov 14 Javascript
使用CamanJS在Web页面上处理图像的技巧
Aug 18 Javascript
jQuery使用$.each遍历json数组的简单实现方法
Apr 18 Javascript
基于vuejs+webpack的日期选择插件
May 21 Javascript
JS中Array数组学习总结
Jan 18 Javascript
Vue2.0 vue-source jsonp 跨域请求
Aug 04 Javascript
JS简单实现父子窗口传值功能示例【未使用iframe框架】
Sep 20 Javascript
Angular 4.x+Ionic3踩坑之Ionic 3.x界面传值详解
Mar 13 Javascript
微信小程序使用swiper组件实现层叠轮播图
Nov 04 Javascript
详解vue 命名视图
Aug 14 Javascript
微信小程序自定义弹出模态框禁止底部滚动功能
Mar 09 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
php 分页类 扩展代码
2009/06/11 PHP
php生成略缩图代码
2012/07/16 PHP
PHP实现双链表删除与插入节点的方法示例
2017/11/11 PHP
php json转换相关知识(小结)
2018/12/21 PHP
JS特殊函数(Function()构造函数、函数直接量)区别介绍
2013/05/19 Javascript
基于mouseout和mouseover等类似事件的冒泡问题解决方法
2013/11/18 Javascript
JS简单计算器实例
2015/01/20 Javascript
jQuery插件Elastislide实现响应式的焦点图无缝滚动切换特效
2015/04/12 Javascript
JavaScript实现简单的tab选项卡切换
2016/01/05 Javascript
JavaScript之排序函数_动力节点Java学院整理
2017/06/30 Javascript
HTML5开发Kinect体感游戏的实例应用
2017/09/18 Javascript
vue移动端html5页面根据屏幕适配的四种解决方法
2018/10/19 Javascript
Mint UI实现A-Z字母排序的城市选择列表
2018/12/28 Javascript
详解JavaScript 中的批处理和缓存
2020/11/19 Javascript
[01:20]PWL开团时刻DAY9——听说潮汐没用?
2020/11/10 DOTA
Python with用法实例
2015/04/14 Python
详解Python 数据库 (sqlite3)应用
2016/12/07 Python
Python编程实现控制cmd命令行显示颜色的方法示例
2017/08/14 Python
Python探索之实现一个简单的HTTP服务器
2017/10/28 Python
Python 保存矩阵为Excel的实现方法
2019/01/28 Python
树莓派动作捕捉抓拍存储图像脚本
2019/06/22 Python
Python csv文件记录流程代码解析
2020/07/16 Python
如何通过python实现IOU计算代码实例
2020/11/02 Python
Python中pass的作用与使用教程
2020/11/13 Python
全球航班旅行搜索网站:Cheapflights
2017/05/19 全球购物
家得宝墨西哥官网:The Home Depot墨西哥
2019/11/18 全球购物
生产经理的自我评价分享
2013/11/07 职场文书
学生党员公开承诺书
2014/05/28 职场文书
学校节能宣传周活动总结
2014/07/09 职场文书
2014年预备党员群众路线教育实践活动对照检查材料思想汇报
2014/10/02 职场文书
感恩母亲节活动总结
2015/02/10 职场文书
一般纳税人申请报告
2015/05/18 职场文书
2015年学校政教工作总结
2015/07/20 职场文书
八年级历史教学反思
2016/02/19 职场文书
《家世》读后感:看家训的力量
2019/12/30 职场文书
快速学习Oracle触发器和游标
2021/06/30 Oracle