【发布时间】:2025-12-16 16:10:01
【问题描述】:
我想要做的是为管道提供一个值,然后让管道将它变成一个列表。这可能不是最好的解决方法,但这是我想到的第一件事。
基本上我有一张简单的桌子。我有我的模板
<tr *ngFor="let res of results">
<td>{{res.value1}}</td>
<td>{{res.value2 | list}}</td>
</tr>
我的list 管道就是这样。
从 '@angular/core' 导入 { Pipe, PipeTransform };
@Pipe({
name: 'list'
})
export class ListPipe implements PipeTransform {
transform(value: string, args?: any): any {
let newList: string[];
newList = value.split(',');
let output = '<ul>';
newList.forEach(val => {
output += `<li>${val}</li>`;
});
output += '</ul>';
return output;
}
}
我的预期结果会是这样的
<tr>
<td>value 1</td>
<td>
<ul><li>value2.a</li><li>value2.b</li></ul>
</td>
</tr>
但是发生的是文字值 <ul><li>value2.a</li><li>value2.b</li></ul> 正在我的页面中呈现。
我做错了什么?
【问题讨论】:
标签: html angular angular-pipe