浅谈Angular路由跳转中的navigateByUrl和navigate


当前第2页 返回上一页

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

this.router.navigate(['c'],{ queryParams:{name:'zita'} });  // localhost:4200/c?name=zita

    现在么,成功跳转到路由c了。我又想从路由c跳转到路由a,有以下五种情况:

     

    (1)不携带参数跳转

    this.router.navigate(['a'], { queryParamsHandling: null });  // localhost:4200/a

    (2)携带参数跳转

    this.router.navigate(['a'], { queryParamsHandling: 'merge'});  // localhost:4200/a?name=zita

     

    执行完以下三种情况的代码后,看到的页面是路由a的页面哦!

    (3)携带参数。浏览器中的URL不变,参数会失效即,在路由a中打印的参数结果是{}

    this.router.navigate(['a'], { skipLocationChange: true });  // localhost:4200/c?name=zita

    (4)携带参数。浏览器中的URL不变,参数有效。在路由a中打印的参数结果是{name: "zita"}

    this.router.navigate(['a'], {skipLocationChange: true, queryParamsHandling: 'merge'});  // localhost:4200/c?name=zita

    (5)携带参数。浏览器中的URL不变,参数有效,并且携带上其他参数。在路由a中打印的参数结果是{name: "zita",sex: "female"}

    this.router.navigate( ['a'], {skipLocationChange: true, queryParamsHandling: 'merge', queryParams: { sex: 'female' } });  // localhost:4200/c?name=zita

6、路由b跳转到路由c(导航时不会把当前状态记入历史)

1

2

在路由c中,点击浏览器的返回按钮,会忽略路由b而直接跳转回到路由b的上一层路由

this.router.navigate(['c'],{ replaceUrl:true });  // localhost:4200/c

在这里插入图片描述

最后的最后,小可爱们~

在使用路由的时候千千万万不要忘记引入router哦~~

1

2

import { Router } from '@angular/router';

constructor( private router: Router) { }

另外,如果你想打印携带过来的参数,那么代码片段如下:

1

2

3

4

5

6

import { Router, ActivatedRoute, Params } from '@angular/router';

ngOnInit() {

    this.route.queryParams.subscribe((params: Params) => {

      console.log(params);

    });

}

happyEnding…

更多编程相关知识,请访问:编程入门!!

以上就是浅谈Angular路由跳转中的navigateByUrl和navigate的详细内容,更多文章请关注木庄网络博客

返回前面的内容

相关阅读 >>

13个关于Angular的前端面试题(总结)

了解Angularjs中的“模块”

浅谈Angular8兼容ie10+版本的方法

Angular中关于单元测试的面试题,你能回答上来吗?

浅谈Angular中的dom操作

浅谈Angular中组件的生命周期

浅谈一下Angular模板引擎ng-template

Angular入门学习之环境和项目的搭建

Angular实现只执行正在开发的新单元测试

浅谈Angular cli工具如何从零搭建并运行一个简单项目

更多相关阅读请进入《Angular》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...