angular2中router路由跳转navigate的使用与刷新页面问题详解


Posted in Javascript onMay 07, 2017

本文主要介绍的是angular2中router路由跳转navigate的使用与刷新页面问题的相关内容,分享出供大家参考学习,下面来看看详细的介绍:

一、router.navigate的使用

navigate是Router类的一个方法,主要用来跳转路由。

函数定义:

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

1.this.router.navigate(['user', 1]);

以根路由为起点跳转

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

默认值为根路由,设置后相对当前路由跳转,route是ActivatedRoute的实例,使用需要导入ActivatedRoute

3.this.router.navigate(['user', 1],{ queryParams: { id: 1 } });
路由中传参数 /user/1?id=1

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

默认值为false,设为true,保留之前路由中的查询参数/user?id=1 to /view?id=1

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

路由中锚点跳转 /user/1#top

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

默认值为false,设为true,保留之前路由中的锚点/user/1#top to /view#top

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

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

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

未设置时默认为true,设置为false路由不会进行跳转

二、router.navigate刷新页面问题

造成这个问题一般是因为我们在<form>表单中使用<button>时忘记添加type属性,在表单中,如果忘记给按钮添加属性,会默认为submit

<button (click)="toDetail()">detail</button>
toDetail() {
 this._router.navigate(['/detail']);
}

解决方法:

1.添加type

<button type="button" (click)="toDetail()">detail</button>

2.click添加false

<button (click)="toDetail();false">detail</button>

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家学习或者使用Angular.js能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Javascript 相关文章推荐
asp(javascript)全角半角转换代码 dbc2sbc
Aug 06 Javascript
extjs 学习笔记(一) 一些基础知识
Oct 13 Javascript
js使用eval解析json(js中使用json)
Jan 17 Javascript
用JS在浏览器中创建下载文件
Mar 05 Javascript
初识SmartJS - AOP三剑客
Jun 08 Javascript
jquery实现在光标位置插入内容的方法
Feb 05 Javascript
js时钟翻牌效果实现代码分享
Jul 31 Javascript
谈谈impress.js初步理解
Sep 09 Javascript
Javascript 5种方法实现过滤删除前后所有空格
Jun 22 Javascript
Vue学习笔记进阶篇之vue-cli安装及介绍
Jul 18 Javascript
node简单实现一个更改头像功能的示例
Dec 29 Javascript
vuex实现购物车的增加减少移除
Jun 28 Javascript
Angular2中select用法之设置默认值与事件详解
May 07 #Javascript
Angular.JS中指令ng-if、ng-show/ng-hide和ng-switch的使用教程
May 07 #Javascript
Angular.Js中ng-include指令的使用与实现
May 07 #Javascript
Angular.js中ng-include用法及多标签页面的实现方式详解
May 07 #Javascript
JavaScript的继承实现小结
May 07 #Javascript
vue2.0多条件搜索组件使用详解
Mar 26 #Javascript
Vue 进阶教程之v-model详解
May 06 #Javascript
You might like
山进SANGEAN ATS-909X电路分析
2021/03/02 无线电
PHP开发者常犯的10个MySQL错误更正剖析
2012/01/30 PHP
destoon各类调用汇总
2014/06/20 PHP
PHP实现将几张照片拼接到一起的合成图片功能【便于整体打印输出】
2017/11/14 PHP
js window.event对象详尽解析
2009/02/17 Javascript
JavaScript 命名空间 使用介绍
2013/08/29 Javascript
JS对HTML标签select的获取、添加、删除操作
2013/10/17 Javascript
详解JavaScript中undefined与null的区别
2014/03/29 Javascript
浅谈重写window对象的方法
2014/12/29 Javascript
jquery实现鼠标滑过后动态图片提示效果实例
2015/08/10 Javascript
javascript中的正则表达式使用详解
2015/08/30 Javascript
Bootstrap实现input控件失去焦点时验证
2016/08/04 Javascript
nodejs基础应用
2017/02/03 NodeJs
js分页之前端代码实现和请求处理
2017/08/04 Javascript
vue 自定义全局方法,在组件里面的使用介绍
2018/02/28 Javascript
bootstrap table插件动态加载表头
2019/07/19 Javascript
vue实现浏览器全屏展示功能
2019/11/27 Javascript
基于elementUI竖向表格、和并列的案例
2020/10/26 Javascript
JavaScript字符串转数字的简单实现方法
2020/11/27 Javascript
JavaScript实现手风琴效果
2021/02/18 Javascript
详解使用 pyenv 管理多个版本 python 环境
2017/10/19 Python
使用Python的turtle模块画图的方法
2017/11/15 Python
Python SSL证书验证问题解决方案
2020/01/13 Python
python中altair可视化库实例用法
2021/01/26 Python
Guess欧洲官网:美国服饰品牌
2019/08/06 全球购物
自动化专业个人求职信范文
2013/12/30 职场文书
报纸媒体创意广告词
2014/03/17 职场文书
酒店仓管员岗位职责
2014/04/28 职场文书
热门专业求职信
2014/05/24 职场文书
委托书的写法
2014/08/30 职场文书
综合素质自我评价怎么写
2014/09/14 职场文书
扶贫办主任查摆“四风”问题个人对照检查材料思想汇报
2014/10/02 职场文书
2015年度服装销售工作总结
2015/03/31 职场文书
开国大典观后感
2015/06/04 职场文书
详解Go语言Slice作为函数参数的使用
2021/07/02 Golang
解决Mysql多行子查询的使用及空值问题
2022/01/22 MySQL