我试图从vanilla javascript转换一些代码,其中一部分需要将函数存储为私有类成员。我试图弄清楚这个的正确语法,但似乎无法做到正确。
我最想说的是:
module MyModule {
export class MyClass {
private myLocalReferenceToTheFunction: Function<T>(serverCall: (...args: any[]) => ng.IPromise<T>): ng.IPromise<T>;
constructor(myOtherService: OtherService) {
this.myLocalReferenceToTheFunction = myOtherService.serviceFunction;
}
}
}
private myLocalReferenceToTheFunction...
行的正确语法是什么?
切线,如果这是完全错误的做法,我会很感激。实际上,我唯一的目标是能够在myLocalReferenceToTheFunction
内的函数中使用MyClass
。
答案 0 :(得分:3)
在我看来,这就是您正在尝试做的事情:
module MyModule {
export class MyClass<T> {
private myLocalReferenceToTheFunction: (serverCall: (...args: any[]) => ng.IPromise<T>) => ng.IPromise<T>;
constructor(myOtherService: OtherService) {
this.myLocalReferenceToTheFunction = myOtherService.serviceFunction;
}
}
}
我很难确定这是你所需要的
看到OtherService
的定义会有所帮助。
答案 1 :(得分:0)
这样的东西?
var MyModule = function() {
return {
MyClass : function () {
var myLocalReferenceToTheFunction;
var constructor = function(myOtherService) {
myLocalReferenceToTheFunction = myOtherService;
};
return constructor;
}()
};
}();