1
我在與片的下面的代碼問題:打字稿:功能與屬性
CoreModule.filter('translateEnum', ['$parse', '$translate', function(
$parse: angular.IParseService,
$translate: angular.translate.ITranslateService
) {
var translateFilter = function (translationId, namespace, interpolateParams, interpolation): string {
if (!translationId) {
return '';
} else {
if (!angular.isObject(interpolateParams)) {
interpolateParams = $parse(interpolateParams)(this)
}
return $translate.instant(namespace + '.' + translationId, interpolateParams, interpolation)
}
}
translateFilter.$stateful = true;
return translateFilter;
}]);
我得到的編譯錯誤不斷:
>> app/modules/core/filters/filters.ts(47,19): error TS2339: Property '$stateful
' does not exist on type '(translationId: any, namespace: any, interpolateParams
: any, interpolation: any) => string'.
的問題是,我需要assing $stateful: boolean
屬性的函數對象,我不知道如何在打字稿中做到這一點。
這裏有一些嘗試,我做過,但都失敗了:
interface StatefulFunction {
(translationId, namespace, interpolateParams, interpolation): string;
$stateful: boolean;
}
或
interface StatefulFunction {
(...args: any[]): any;
$stateful: boolean;
}
甚至
interface StatefulFunction extends Function {
$stateful: boolean;
}
你能嘗試'VAR translateFilter:any' – Vasyl
@vmaksym沒有****荷蘭國際集團的方式。 TypeScript的目標不是通過使用'any'來避免類型檢查。 – ducin