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 相关文章推荐
jQuery中parents()和parent()的区别分析
Oct 28 Javascript
Hallo.js基于jQuery UI所见即所得的Web编辑器
Jan 26 Javascript
AngularJS使用ng-repeat指令实现下拉框
Aug 23 Javascript
js实现适合新闻类图片的轮播效果
Feb 05 Javascript
微信小程序实现图片上传功能实例(前端+PHP后端)
Jan 10 Javascript
Vue中的slot使用插槽分发内容的方法
Mar 01 Javascript
angularjs1.5 组件内用函数向外传值的实例
Sep 30 Javascript
基于VUE实现的九宫格抽奖功能
Sep 30 Javascript
微信小程序判断用户是否需要再次授权获取个人信息
Jul 18 Javascript
Element-ui DatePicker显示周数的方法示例
Jul 19 Javascript
JS数组属性去重并校验重复数据
Jan 10 Javascript
element-ui点击查看大图的方法示例
Dec 14 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
PHP的curl实现get,post和cookie(实例介绍)
2013/06/17 PHP
PHP检测用户语言的方法
2015/06/15 PHP
Vagrant(WSL)+PHPStorm+Xdebu 断点调试环境搭建
2019/12/13 PHP
通过Javascript将数据导出到外部Excel文档的函数代码
2012/06/15 Javascript
Javascript合并表格中具有相同内容单元格示例
2013/08/11 Javascript
关于js内存泄露的一个好例子
2013/12/09 Javascript
获取鼠标在div中的相对位置的实现代码
2013/12/30 Javascript
javascript父、子页面交互技巧总结
2014/08/08 Javascript
javascript实现仿腾讯游戏选择
2015/05/14 Javascript
jQuery实现自动与手动切换的滚动新闻特效代码分享
2015/08/27 Javascript
JavaScript 用fetch 实现异步下载文件功能
2017/07/21 Javascript
基于Vue的SPA动态修改页面title的方法(推荐)
2018/01/02 Javascript
layui获取选中行数据的实例讲解
2018/08/19 Javascript
详解关于React-Router4.0跳转不置顶解决方案
2019/05/10 Javascript
javascript设计模式 ? 装饰模式原理与应用实例分析
2020/04/14 Javascript
ES6扩展运算符和rest运算符用法实例分析
2020/05/23 Javascript
JS获取一个字符串中指定字符串第n次出现的位置
2021/02/10 Javascript
tornado捕获和处理404错误的方法
2014/02/26 Python
Python不规范的日期字符串处理类
2014/06/10 Python
python matplotlib画图实例代码分享
2017/12/27 Python
python @property的用法及含义全面解析
2018/02/01 Python
PyQt5每天必学之创建窗口居中效果
2018/04/19 Python
python模糊图片过滤的方法
2018/12/14 Python
解决pycharm启动后总是不停的updating indices...indexing的问题
2019/11/27 Python
Django生成数据库及添加用户报错解决方案
2020/10/09 Python
html5的websockets全双工通信详解学习示例
2014/02/26 HTML / CSS
3种方式实现瀑布流布局小结
2019/09/05 HTML / CSS
什么是TCP/IP
2014/07/27 面试题
用Python匹配HTML tag的时候,<.*>和<.*?>有什么区别
2012/11/04 面试题
大学生关于奋斗的演讲稿
2014/01/09 职场文书
母亲节感恩活动记录
2014/03/16 职场文书
小学生竞选班干部演讲稿
2014/04/24 职场文书
创意婚礼策划方案
2014/05/18 职场文书
python flask开发的简单基金查询工具
2021/06/02 Python
企业版Windows 11有哪些新功能? Win11适用于企业的功能介绍
2021/11/21 数码科技
python多次执行绘制条形图
2022/04/20 Python