0

私は Typescript と Angular を使用しており、(とりわけ) 以下のアクセス可能なアイコン ディレクティブ from hereを使用して、サイトをよりアクセスしやすくしようとしています。

module app.directives {
    export class AccessibleIconDirective implements ng.IDirective {
        priority = 0;
        restrict = 'E';
        scope: { name: '@', text: '@'};
        template: '<i class="fa fa-{{name}}"></i><span class="invisible">{{text}}</span>';
    }
}

Typescript コンパイラは、isolate スコープを好まないため、次のエラーが表示されます。

accessibleIcon.ts(5,24): error TS1110: Type expected.
accessibleIcon.ts(5,27): error TS1005: ';' expected.
accessibleIcon.ts(5,35): error TS1110: Type expected.
accessibleIcon.ts(8,1): error TS1128: Declaration or statement expected.

name: '@'この構造体に型を指定する方法がわかりません。text:'@'また、TS がスコープ オブジェクト内にセミコロンを必要とする理由、またはモジュールの後に宣言を必要とする理由がわかりません。

私は ng.IDirective インターフェイスを実装しているので、isolate スコープを処理できると期待しています。

何か案は?ありがとう!

参考までに、angular.d.ts の IDirective インターフェイスを次に示します。

interface IDirective {
    compile?: IDirectiveCompileFn;
    controller?: any;
    controllerAs?: string;
    bindToController?: boolean|Object;
    link?: IDirectiveLinkFn | IDirectivePrePost;
    name?: string;
    priority?: number;
    replace?: boolean;
    require?: any;
    restrict?: string;
    scope?: any;
    template?: any;
    templateNamespace?: string;
    templateUrl?: any;
    terminal?: boolean;
    transclude?: any;
}
4

1 に答える 1