Angular ng生成-来自管道的产品错误
我有一个Angular ng生成-来自管道的产品错误,angular,Angular,我有一个 ERROR Supplied parameters do not match any signature of call target 由我的烟斗引起的 import { Pipe, PipeTransform } from '@angular/core'; @Pipe({name: 'keys'}) export class KeysPipe implements PipeTransform { transform(value, args:string[]) : any
ERROR Supplied parameters do not match any signature of call target
由我的烟斗引起的
import { Pipe, PipeTransform } from '@angular/core';
@Pipe({name: 'keys'})
export class KeysPipe implements PipeTransform {
transform(value, args:string[]) : any {
let keys = [];
for (let key in value) {
keys.push({key: key, value: value[key]});
}
return keys;
}
}
我把这个管叫做
<span *ngFor="let property of properties | keys">
有人看到这个问题吗?谢谢您的检查。好的,回答我自己的问题:在没有参数的情况下调用管道会导致错误。这
args:string[]
当然需要字符串。所以我重写了管道
import { Pipe, PipeTransform } from '@angular/core';
@Pipe({name: 'keys'})
export class KeysPipe implements PipeTransform {
transform(value) : any {
let keys = [];
for (let key in value) {
keys.push({key: key, value: value[key]});
}
return keys;
}
}
也许有人能帮你解决这个问题。没错,只是出于好奇,你为什么需要一个
管道?您没有使用传递的参数,即:key
,我猜它是未定义的
。通过查看您的代码,我假设,properties
是一个包含许多键的对象数组,而不是key
,或者它只包含键key
。无论在何种情况下,您都可以在开始循环之前将数组转换为键
值
对。为什么要在整个循环中应用过滤器?如果您实际使用的是过滤器,并且需要param:键
,那么在管道中,将其接受为转换(value:,args:any)
我将管道用于嵌套的JSON对象,并且必须检查循环中的一些键。无论如何,谢谢你指出这个方向。