首页 > 解决方案 > 如何停止在 Angular 7 的 [queryParams] 中调用方法?

问题描述

我正在尝试为用户实现在新选项卡中打开选项。我不应该使用(单击)来执行此操作,所以现在我使用以下逻辑在新选项卡中打开。

<a [routerLink]="['/search/' + search.id]" [queryParams]="getQueryParams()">Destination</a>

问题是getQueryParams()每次都会调用,因此应用程序非常慢。有什么办法不随时调用这个方法吗?或者以另一种方式在新选项卡中实现这个打开 (click)

标签: javascriptangulartypescript

解决方案


有什么理由可以通过函数获取 queryParams 吗?

如果不是,您可以手动将 queryParams 设置为组件中的公共属性,并将其绑定到链接的 queryParams 属性。

零件:

  public queryParams;

  ngOnInit(){
    this.queryParams = this.getQueryParams();
  }

HTML:

<a [routerLink]="['/search/' + search.id]" [queryParams]="queryParams">Destination</a>

推荐阅读