に:
module.directive 'name', ->
(scope, element, attr) ->
# Whatever implemenation
リンク関数のscope
、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) {
...
};
}]);
_
ドキュメント のcurrent timeの例を参照してください。
編集: ここを参照 _$timeout
_サービスを注入するデモの場合。関数の代わりにディレクティブ(例:return {restrict: 'E', link: function() {...}}
)オブジェクトを返す場合も同じことができます。