代码之家  ›  专栏  ›  技术社区  ›  CodeMan

Angular 2路由导航在新选项卡中运行(使用Angular Router naviagte)

  •  20
  • CodeMan  · 技术社区  · 6 年前

    如果使用路由器,如何打开新的浏览器选项卡。导航

    this.router.navigate([]).then(result => { window.location.href = link; });
    
    6 回复  |  直到 6 年前
        1
  •  55
  •   Manish Vadher    6 年前

    试试这个。

    this.router.navigate([]).then(result => {  window.open(link, '_blank'); });
    
        2
  •  6
  •   mkamranhamid    6 年前

    目前我认为angular没有提供任何方法或服务,所以我必须使用 window 对象以在新选项卡中打开链接 window.open(link, '_blank')

        3
  •  2
  •   Saurabh Mistry    4 年前

    这将在新选项卡中打开:

     this._router.navigate([]).then(result => {  window.open( `/customer/edit/${customer_id_param}`, '_blank'); });
    
        4
  •  2
  •   Rafael Cerávolo    3 年前

    要导航到新选项卡,而不是直接调用navigate:

    this.router.navigate(routerCommands, { queryParams });
    

    使用 createUrlTree 序列化URL ,因此您可以使用navigate()中使用的相同参数构建URL,但无需导航当前选项卡(仅新选项卡):

     const link = this.router.serializeUrl(this.router.createUrlTree(routerCommands, { queryParams }));
     window.open(link, '_blank');
    
        5
  •  -1
  •   amato rahman    4 年前
    window.open(window.location.href+"/yourRoute", '_blank');
    
        6
  •  -3
  •   Carlos Javier Bazan Human    4 年前

    埃斯托·德贝里亚·坦比安·安格鲁:

      abrirVentana() {
    var URL = 'https://stackoverflow.com/';
    window.open(URL, '_blank');
    

    }