【问题标题】:Angular 8 routing component in new tab新选项卡中的 Angular 8 路由组件
【发布时间】:2021-10-14 04:13:01
【问题描述】:

我有一个 Angular 组件 callreports,我想通过单击主页上的链接按钮在新选项卡中打开它。 目前它可以在同一页面中正常打开,但必须按浏览器上的后退箭头才能返回。 target='_blank' 在带有 URL 的 window.open 的情况下有效,但在 Component 的情况下无法确定。请告知是否有办法在 Angular 8 的新标签中打开它

html

  <div class="col-md-6">
    <button class="m-1 btn btn-link" (click)="CallReports()" type="button">
      Call Flows
    </button>
  </div>

组件

  public CallReports() {
    this._router.navigate(['callreports']);
  }

【问题讨论】:

  • 我不知道你的问题是什么,但是你有没有试过 this._location.back();路由回去?
  • 我想在新标签页中打开 callreports 组件
  • 我仍然不清楚“在新标签中打开”是什么意思。当您按下选项卡按钮时,您是否要路由到该页面?还是您的意思是您希望您的应用在新的浏览器标签页中打开?
  • 当我点击 url 时,我想在新的浏览器标签页中打开组件

标签: angular angular2-routing


【解决方案1】:

我认为如果您只是使用将 URL 设置为路由页面的 html 链接,这应该可以工作。像这样:

<a href="www.yourpage.com/#/routed-page" target='_blank'>Click here</a>

【讨论】:

  • 此解决方案确实有效,但必须根据环境 -dev/uat/prod 更改域(www.yourpage.com)
【解决方案2】:

试试这个

window.open('callreports');

【讨论】:

    【解决方案3】:

    将您的 CallReports 更新为:

      public CallReports() {
         const url = this._router.serializeUrl(
         this._router.createUrlTree(['/callreports']));
    
          window.open('#' + url, '_blank');
      }
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-22
    • 2020-10-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-30
    相关资源
    最近更新 更多