TypeScript 1.6.2 を使用して AngularJS 1.5.4 でこれを実装するにはどうすればよいですか?
公式ドキュメントのバニラ JavaScript バージョンは次のとおりです: $compile#example
私はこれを見つけましたが、うまくいきません: $compile を実装する Angularjs+Typescript ディレクティブ
ここに私の現在の試みがあります:
export class Element implements angular.IDirective {
public static ID = 'element';
static $inject = ['$compile'];
static factory(): angular.IDirectiveFactory {
const directive = ($compile: ng.ICompileService) => new Element($compile);
directive.$inject = Element.$inject;
return directive;
}
constructor(private $compile: ng.ICompileService) {
};
link(scope: ng.IScope, element: any, attrs: any) {
return scope.$watch(
(scope: ng.IScope) => scope.$eval(attrs.compile),
(value: string) => {
element.html(value);
this.$compile(element.contents())(scope);
}
);
}
link_old_attempt(scope: any, element: any, attrs: ng.IAttributes,
formCtrl: ng.IFormController) {
const attr = scope.standard || scope.attrs || scope.ignore;
element.html(this.$compile(attr));
this.$compile(element.contents())(scope);
}
}