の:
module.directive 'name', ->
(scope, element, attr) ->
# Whatever implemenation
リンク関数のとパラメータはscope
、名前から推測される Dependency-Injection に依存していますか? はいの場合、どうすればそれらを縮小証明にできますか?element
attrs
それとも、それらに渡されるものについて、古き良き引数の順序に依存していますか?
の:
module.directive 'name', ->
(scope, element, attr) ->
# Whatever implemenation
リンク関数のとパラメータはscope
、名前から推測される Dependency-Injection に依存していますか? はいの場合、どうすればそれらを縮小証明にできますか?element
attrs
それとも、それらに渡されるものについて、古き良き引数の順序に依存していますか?
いいえ、リンク機能には事前定義された一連のパラメーターがあります。
function link($scope, $element, attrs, ctrl) {
//Your method
}
彼らです
required
ディレクティブで DI を使用する場合 (私が行ったように)、リンク関数の代わりにディレクティブ ファクトリ関数に注入する引数を入れます。
module.directive('name', function($timeout) {
return function(scope, element, attrs) {
...
};
});
縮小を可能にするには、コントローラーの場合と同様に、関数の引数を配列に入れます。
module.directive('name', ['$timeout', function($timeout) {
return function(scope, element, attrs) {
...
};
}]);
docsの現在の時刻の例を参照してください。
編集:サービスを挿入するデモについては、こちらを参照してください$timeout
。return {restrict: 'E', link: function() {...}}
関数の代わりにディレクティブ (例: ) オブジェクトを返す場合も同じことができます。