3
我有幾個使用相同鏈接函數的指令。 (鏈接功能取決於使用情況增加了一些額外的狀態和HTML)。所以我宣佈這個如下:當鏈接功能需要$compile
在跨多個指令共享的鏈接函數中添加角度依賴
function common_linkfunc(){...}
var Directive_1 = function($scope, etc) {
return {restrict:"E", ...
link: common_linkfunc,
controller: function($scope, etc) {...}
};
}
Directive_1.$injects = ["$scope", "etc"];
angular.module("module").directive("D1", Directive_1)...;
第一個變化是。接下來,我需要添加$templateCache
,我的問題是我怎樣才能系統地做到這一點?
我的第一種方法是重寫common_linkfunc
作爲
function foo($compile, $templateCache) {
return common_linkfunc($compile, $templateCache) {...}
}
,然後在每一個指令的使用:
... 鏈接:FOO($編譯,$ templateCache), ...
但這是複製粘貼!有沒有更容易和更容易出錯的方法來做同樣的事情?
感謝 - 只是學到新的東西!我認爲'$注射器'更靈活,更容易適應不斷變化的需求。 – Dinesh