我不太确定如何访问构造函数内部接口中声明的函数。我有一个简单的界面
export interface ILog {
extendLog($delegate: any): ng.ILogService;
}
和我的构造函数
export class LogConfig implements ILog{
static $inject = ["$provide","$delegate"];
constructor(public $provide : ng.auto.IProvideService,
public $delegate: ng.ILogService
){
$provide.decorator('$log',extendLog );
}
extendLog($delegate: any): ng.ILogService {
var debugFunction = $delegate.debug;
$delegate.debug = (...args: any[]): void => {
var now = (new Date()).toLocaleTimeString();
args[0] = now + ' - ' + args[0];
debugFunction.apply(null, args);
};
return $delegate;
}
}
extendLog
正在给出错误
Cannot find name 'extendLog'
我是否正确地采用了这种方式?试着创建一个简单的装饰器。
答案 0 :(得分:1)
请使用此功能。
$provide.decorator('$log',this.extendLog);