【发布时间】:2018-01-06 07:59:59
【问题描述】:
我在 Typescript 中遇到了以下管道问题。我想用一个元素过滤一个数组,该元素是另一个过滤器操作与另一个数组的结果。我试图写一个管道来解决这个问题,但它不起作用,我不知道为什么。
这是管道的代码:
@Pipe({
name: 'FilterABC',
pure: false}) export class FilterABC implements PipeTransform {
transform(impacts: any[], secObjec: string, secObjects: any[]): any {
let x: string = (secObjects.filter((item) => item.secObj === secObjec))[0].toString();
return impacts.filter((item) => item.securtyObjective.toString() === x);
}}
这里是 HTML 代码:
<select #imValue class="form-control">
<option *ngFor="let impact of impacts | FilterABC:secObj.value:secObjs;">{{impact.securtyObjective.id}}</option>
</select>
非常感谢!
【问题讨论】:
-
什么不起作用?你有错误吗?
-
选择字段为空。
-
transform中有 3 个参数,但在 html 中只使用了 2 个。建议在 transform 中设置断点或调用调试器并遍历它 -
当你使用管道过滤时,应该过滤的Array不是html中的Argument
标签: html angular typescript