使用typescript访问构造函数中的函数

时间:2015-12-08 14:09:06

标签: typescript

我不太确定如何访问构造函数内部接口中声明的函数。我有一个简单的界面

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'

我是否正确地采用了这种方式?试着创建一个简单的装饰器。

1 个答案:

答案 0 :(得分:1)

请使用此功能。

$provide.decorator('$log',this.extendLog);