在多个指令共享的链接函数中添加角度依赖项

时间:2015-05-01 21:54:56

标签: angularjs

我有几个使用相同链接功能的指令。 (链接函数根据用例添加一些额外的状态和html。)所以我声明如下:

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)...;

第一个变化是需要链接功能时$compile。接下来我需要添加$templateCache,我的问题是如何系统地执行此操作?

我的第一种方法是将common_linkfunc重写为

function foo($compile, $templateCache) {
    return common_linkfunc($compile, $templateCache) {...}
}

然后在每个指令中使用它:

...    link:foo($ compile,$ templateCache),    ...

但这是复制粘贴!是否有一种更简单,更不容易出错的方法呢?

0 个答案:

没有答案