2016-06-24 5 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 вызов неверен просто передать впереди полученные В параметре:

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

Или напечатать в качестве реальной консоли:

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

Второй случай - тот, который я искал. Большое спасибо! –

Смежные вопросы