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

Is it possible to apply a conditional pipe which itself contains a condition?

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

我想应用自定义管道,typeof option.name 是字符串。并在类型为 Object 时将其删除。

尝试了 link,但没有成功

实际代码:

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

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

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

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

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

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

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

这是为您准备的 demo