是否可以应用本身包含条件的条件管道?

时间:2019-06-13 11:19:16

标签: angular pipe conditional-statements angular7 angular-material-7

我有一个下拉列表(输入+自动完成),可以在其中键入字符串或从下拉列表中选择一个对象。 我只想在输入的值是字符串类型时使用管道。如果用户从下拉菜单中选择一个值,则需要删除自定义管道。

我想将自定义管道应用为typeof选项。名称为String。并在类型为Object时将其删除。

尝试链接,但没有成功 Angular 2 Pipe under condition

实际代码:

<mat-option *ngFor="let option of sortedOptions"
       [innerHTML]="option?.name | highlight : userControl.value" >

我无法理解的是如何在此处检查字符串类型:

{{ typeof(option.name) ? (option?.name | highlight : userControl.value)  : option.name }}

1 个答案:

答案 0 :(得分:1)

您可以像这样在您的组件上创建辅助方法:

isString(val) { return typeof val === 'string'; }

现在您可以像这样检查您的状况:

{{ isString(option.name) ? (option?.name | highlight : userControl.value)  : option.name }}

这是为您工作的demo