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 相关文章推荐
js判断浏览器的比较全的代码
Feb 13 Javascript
js为数字添加逗号并格式化数字的代码
Aug 23 Javascript
IE中图片的onload事件无效问题和解决方法
Jun 06 Javascript
js实现增加数字显示的环形进度条效果
Feb 05 Javascript
javascript图片预览和上传(兼容IE)
Mar 15 Javascript
jQuery插件FusionCharts绘制ScrollColumn2D图效果示例【附demo源码下载】
Mar 22 jQuery
jQuery Jsonp跨域模拟搜索引擎
Jun 17 jQuery
js实现拖拽上传图片功能
Aug 01 Javascript
微信小程序配置服务器提示验证token失败的解决方法
Apr 03 Javascript
微信小程序如何使用云开发
May 17 Javascript
js异步接口并发数量控制的方法示例
Nov 22 Javascript
如何正确解决VuePress本地访问出现资源报错404的问题
Dec 03 Vue.js
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 json与xml序列化/反序列化
2013/10/28 PHP
PHP数学运算与数据处理实例分析
2016/04/01 PHP
PHP对称加密函数实现数据的加密解密
2016/10/27 PHP
thinkphp jquery实现图片上传和预览效果
2020/07/22 PHP
PHP基于SimpleXML生成和解析xml的方法示例
2017/07/17 PHP
又一个小巧的图片预加载类
2007/05/05 Javascript
use jscript Create a SQL Server database
2007/06/16 Javascript
直接生成打开窗口代码,不必下载
2008/05/14 Javascript
$.ajax json数据传递方法
2008/11/19 Javascript
JavaScript 核心参考教程 内置对象
2009/10/13 Javascript
Document对象内容集合(比较全)
2010/09/06 Javascript
25个非常棒的jQuery滑块插件和教程小结
2011/09/02 Javascript
基于JQuery的类似新浪微博展示信息效果的代码
2012/07/23 Javascript
nodejs创建web服务器之hello world程序
2015/08/20 NodeJs
switch语句的妙用(必看篇)
2016/10/03 Javascript
浅析上传头像示例及其注意事项
2016/12/14 Javascript
微信小程序tabBar用法实例详解
2017/12/04 Javascript
vue文件树组件使用详解
2018/03/29 Javascript
关于Angularjs中自定义指令一些有价值的细节和技巧小结
2018/04/22 Javascript
vue-router 源码实现前端路由的两种方式
2018/07/02 Javascript
VUE在for循环里面根据内容值动态的加入class值的方法
2018/08/12 Javascript
Vue.js@2.6.10更新内置错误处机制Fundebug同步支持相应错误监控
2019/05/13 Javascript
JS中的一些常用的函数式编程术语
2019/06/15 Javascript
JavaScript代码压缩工具UglifyJS和Google Closure Compiler的基本用法
2020/04/13 Javascript
Vue通过getAction的finally来最大程度避免影响主数据呈现问题
2020/04/24 Javascript
部署vue+Springboot前后端分离项目的步骤实现
2020/05/31 Javascript
python网络爬虫学习笔记(1)
2018/04/09 Python
python画环形图的方法
2020/03/25 Python
Django admin管理工具TabularInline类用法详解
2020/05/14 Python
python 实用工具状态机transitions
2020/11/21 Python
违反课堂纪律检讨书
2014/01/19 职场文书
大学学生会竞选演讲稿
2014/04/25 职场文书
公司股东出资证明书
2014/11/01 职场文书
旗帜观后感
2015/06/08 职场文书
2016年国培研修日志
2015/11/13 职场文书
《小摄影师》教学反思
2016/02/18 职场文书