问题描述
我想将模板上使用的函数替换为管道,以避免每次 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 (将#修改为@)