2016-06-24 85 views
3

我正在嘗試創建自定義記錄器。很簡單,但我試圖擺脫錯誤,所以我沒有泥濘的輸出。我有這樣的事情:類型'IArguments'不是陣列類型

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

Logger.ts(6,24): Error TS2461: Type 'IArguments' is not an array type. 

什麼是做到這一點的正確方法?

+0

'args' /'arguments' - 錯字? – rinukkusu

回答

3

的電話的console.log不正確,只是通過提前收到的paramater:

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

或者打印作爲一個真正的控制檯:

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

第二種情況是我正在尋找的。非常感謝! –