3

私のディレクティブには、テンプレート パスを生成するための定数 (MODULE_ROOT_URL) が必要です。ディレクティブ構文を使用すると、ディレクトリ ファクトリ関数に定数を挿入できます。このディレクティブを Angular 1.5 コンポーネントに変換するにはどうすればよいですか? Angular 1.5 コンポーネントにサービスを注入することは可能ですか?

ありがとう。

更新: サービスをコンポーネント コントローラーに挿入できることはわかっています。しかし、コンポーネントの templateUrl プロパティにサービスを挿入するにはどうすればよいでしょうか?

Update2: plkr を参照してください。ディレクティブとコンポーネントの両方のバージョンを作成します。ディレクティブ バージョンは正常に動作します。しかし、コンポーネントのバージョンにはエラー [ngTransclude:orphan] があります

https://plnkr.co/edit/DMumuIpXJY6RDCX6XObz?p=preview

angular.module('AbcModule')
       .directive('abcDirective', ['MODULE_ROOT_URL', function (MODULE_ROOT_URL) {
           return {
               restrict: 'E',
               templateUrl:  MODULE_ROOT_URL + 'abc/abc.tpl.html'
           }

       }]);
4

2 に答える 2

9

templateUrlおよびtemplate関数にすることができ、依存関係を注入できます。

angular.module('AbcModule')
.component('abcDirective',  {
     restrict: 'E',
     templateUrl:  function(MODULE_ROOT_URL) {
          return MODULE_ROOT_URL + 'abc/abc.tpl.html';
     }
});
于 2016-04-15T10:56:20.760 に答える