我正在尝试根据pipe transform
的结果,在标签上分配一个自定义类。不幸的是,我无法使其工作。
以下是场景。我正在使用ngFor
语句迭代此对象:
"documents": [
{
"document_ext": "pdf"
} ,
{
"document_ext": "doc"
}
]
在循环过程中,我想根据document_ext
分配一个自定义类。但这会导致以下错误:
错误:在表达式所在的第0列处得到插值({{})},而预期的是表达式[{{doc?.document_ext | documentaleType}}]
HTML代码:
最初的回答:
<ng-container *ngFor="let doc of documentList">
<div class="row">
<div class="doc-type">
<span class="row-icon" [ngClass]="{{doc?.document_ext | documentaleType}}">
</span>
</div>
</div>
</ng-container>
而简单的管道现在只返回一个标准值:
最初的回答
export class DocumentaleTypePipe {
transform(ext: string): string {
return "p3-018-dummy";
}
}
我不想调用函数,所以我选择使用"管道"。我错过了什么吗?
感激任何帮助。
编辑
这样解决:
<span class="row-icon" [ngClass]="[doc.document_ext ? (doc.document_ext | documentaleType) : 'p3-018-dummy']"></span>
[ngClass]="{{doc?.document_ext | documentaleType}}"
中,你不能同时使用[]
和{{}}
的组合,因为这样会将其变成一个表达式,而不仅仅是解释文本。 - undefined