如何在 Angular 11

问题描述

我想将模板上使用的函数替换为管道,以避免每次 angular 检测到新更改时都在模板上执行该函数。该函数非常简单,但它使用另一个类的方法一个类的属性。问题是:如何在管道声明中使用 class´methods 和 class´property?在这种情况下,管道也不会收到任何值。也许有任何更简单的方法可以避免每次 Angular 检测更改检测到新更改时在模板上执行函数。就我而言,每次用户在文本区域内写一个字母时,该函数都会再次执行。

主要方法

getCurrentTitle() {
if (this.isCompanyUser()) {
  return this.internalStatus ? `request.detail.status.${this.internalStatus}` : '';
} else {
  return this.customerStatus ? `request.detail.status.${this.customerStatus}` : '';
}

}

isCompanyUser 方法

isCompanyUser(): boolean {
  return this.functionalityService.isCompanyUSer();
}

属性

internalStatus: string; 

模板上的函数

<div class="page-title">
  <mat-icon svgIcon="account-outline"></mat-icon>
  <span class="mat-subheading-1" matLine>{{ 'request.detail.title' | translate }} - </span>
  <span *ngIf="requestId === 0">New</span>
  <span *ngIf="requestId !== 0">{{ request.externalId }} - {{ getCurrentTitle() | translate}}</span>
</div>

终于找到了解决办法。我在这里分享,以防对其他人有用。

我传递了一个空字符串作为管道的值 '',我传递了类的属性方法作为管道的参数

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)