在Pipe中找不到错误

时间:2018-01-05 22:47:48

标签: html angular typescript

我在打字稿中遇到了以下问题。我想用一个元素过滤一个数组,该元素来自另一个过滤器操作与另一个数组。我试着写一个Pipe来解决这个问题,但它不起作用,我不知道为什么。

以下是管道代码:

@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>

非常感谢!

1 个答案:

答案 0 :(得分:0)

我想你忘了从数组过滤器方法中的箭头函数返回结果。

尝试此更新的管道定义 -

@Pipe({
    name: 'FilterABC',
    pure: false
}) 
export class FilterABC implements PipeTransform {

    transform(impacts: any[], secObjec: string, secObjects: any[]): any {

        let x: string = (secObjects.filter((item) => { return item.secObj === secObjec; }))[0].toString();

        return impacts.filter((item) => { return item.securtyObjective.toString() === x; });
    }
}

我希望这会有所帮助:)