美文网首页javascript
angular2 router中的路由跳转navigate

angular2 router中的路由跳转navigate

作者: 关保民 | 来源:发表于2018-02-24 10:50 被阅读19次

    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路由不会进行跳转

    相关文章

      网友评论

        本文标题:angular2 router中的路由跳转navigate

        本文链接:https://www.haomeiwen.com/subject/vlhqxftx.html