【发布时间】:2020-01-30 04:35:43
【问题描述】:
我在尝试找到在(单击)事件中使用管道的最佳方式时遇到问题。我收到“动作表达式中不能有管道”错误。我希望能够在用户单击按钮时触发管道。该程序的目标是当用户单击“CM”按钮时,长度列中的值将转换为厘米。任何有关解决此错误或找到更好解决方案的帮助将不胜感激。
表格
If user selects centimeters
in cm in cm
-------------------- ---------------
User |Item | Length User | Item | Length
--------------- ----> ---------------
User1|Item1 | 12 cm User1| Item1 | 12 cm
User2|Item2 | 2 in User2| Item2 | 5.08 cm
管道
@Pipe({name:convertToCmPipe})
export class ConvertToCmPipe implements PipeTransform {
constructor(public log:LoggingService){}
transform(value:number,newVal: string): any {
return newVal === undefined ? value : value * 2.54;
}
}
打字稿
onBtnSelect(x: number)
{
return this.convertToCmPipe.transform(x,x);
}
HTML
<button (click)="onBtnSelect(lengthVal | convertToCmPipe: 'length')"
title="cm"> CM </button>
【问题讨论】:
-
This 可以帮忙吗?
标签: html angular typescript events pipe