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 相关文章推荐
?牟┛途W扣了一??效果出?? target=
May 27 Javascript
鼠标右击事件代码(asp.net后台)
Jan 27 Javascript
Javascript 鼠标移动上去小三角形滑块缓慢跟随效果
Apr 26 Javascript
jQuery中$.extend()用法实例
Jun 24 Javascript
AngularJs入门教程之环境搭建+创建应用示例
Nov 01 Javascript
浅谈AngularJS中ng-class的使用方法
Nov 11 Javascript
用jQuery旋转插件jqueryrotate制作转盘抽奖
Feb 10 Javascript
原生js实现抽奖小游戏
Jun 27 Javascript
js对象数组和对象的使用实例详解
Aug 27 Javascript
基于javascript实现碰撞检测
Mar 12 Javascript
Vue.js获取手机系统型号、版本、浏览器类型的示例代码
May 10 Javascript
js+css3实现炫酷时钟
Aug 18 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
sourcesafe管理phpproj文件的补充说明(downmoon)
2009/04/11 PHP
linux实现php定时执行cron任务详解
2013/12/24 PHP
PHP_NETWORK_GETADDRESSES: GETADDRINFO FAILED问题解决办法
2014/05/04 PHP
php实现文件下载功能的几个代码分享
2014/05/10 PHP
ThinkPHP模板范围判断输出In标签与Range标签用法详解
2014/06/30 PHP
Zend Framework动作控制器用法示例
2016/12/09 PHP
PHP判断json格式是否正确的实现代码
2017/09/20 PHP
jscript之Read an Excel Spreadsheet
2007/06/13 Javascript
seajs中模块的解析规则详解和模块使用总结
2014/03/12 Javascript
使用Node.js配合Nginx实现高负载网络
2015/06/28 Javascript
所见即所得的富文本编辑器bootstrap-wysiwyg使用方法详解
2016/05/27 Javascript
浅谈时钟的生成(js手写简洁代码)
2016/08/20 Javascript
JavaScript实现解析INI文件内容的方法
2016/11/17 Javascript
详解nodejs操作mongodb数据库封装DB类
2017/04/10 NodeJs
Vue框架中正确引入JS库的方法介绍
2017/07/30 Javascript
《javascript设计模式》学习笔记四:Javascript面向对象程序设计链式调用实例分析
2020/04/07 Javascript
[14:57]DOTA2 HEROS教学视频教你分分钟做大人-幽鬼
2014/06/13 DOTA
[00:32]2018DOTA2亚洲邀请赛出场——VP
2018/04/04 DOTA
python3图片转换二进制存入mysql
2013/12/06 Python
Python编程scoketServer实现多线程同步实例代码
2018/01/29 Python
Python获取指定字符前面的所有字符方法
2018/05/02 Python
windows系统中Python多版本与jupyter notebook使用虚拟环境的过程
2019/05/15 Python
Django中文件上传和文件访问微项目的方法
2020/04/27 Python
解决pymysql cursor.fetchall() 获取不到数据的问题
2020/05/15 Python
python基于openpyxl生成excel文件
2020/12/23 Python
Python爬虫+tkinter界面实现历史天气查询的思路详解
2021/02/22 Python
CSS3的文字阴影—text-shadow的使用方法
2012/12/25 HTML / CSS
详解HTML5新增标签
2017/11/27 HTML / CSS
html5版canvas自由拼图实例
2014/10/15 HTML / CSS
aden + anais英国官网:美国婴儿贴身用品品牌
2019/09/08 全球购物
法国低价在线宠物商店:bitiba.fr
2020/07/03 全球购物
毕业生自荐书模版
2014/01/04 职场文书
计算机专业优秀大学生自我总结
2014/01/21 职场文书
幼儿园门卫岗位职责范本
2014/07/02 职场文书
同事去世追悼词
2015/06/23 职场文书
IDEA 2022 Translation 未知错误 翻译文档失败
2022/04/24 Java/Android