类型'IArguments'不是数组类型

时间:2016-06-24 15:00:19

标签: typescript angular

我正在尝试创建自定义记录器。很简单,但我试图摆脱错误,所以我没有泥泞的输出。我有这样的事情:

<StackPanel/>

但它在控制台中出现以下错误:

@Injectable()
export class Logger {
    log(...args: any[]) {
        console.log(...arguments);
    }
}

Logger.ts(6,9): Error TS2346: Supplied parameters do not match any signature of call target.

这样做的正确方法是什么?

2 个答案:

答案 0 :(得分:5)

console.log调用不正确只是向前传递了收到的参数:

@Injectable()
export class Logger {
    log(...args: any[]) {
        console.log(args);
    }
}

或打印为真正的控制台:

@Injectable()
export class Logger {
    log(...args: any[]) {
        console.log.apply(console, args);
    }
}

答案 1 :(得分:0)

这对我有用:

console.log(...Array.from(arguments));