我希望有很多不同的指令 标签名称,但它们的行为几乎相同。我的第一个想法 只是捕获指令作为这样的函数:
function standardDirective(template,extract) {
return function() {
return {
restrict: 'E',
... }
}
}
然后使用此功能来消除'必要的指令。
angular.module('MCQ', [])
.directive('mcq'
, standardDirective("MCQTemplate.html"
, function(scope){return scope.userSelection;}
)
);
写完这篇文章之后,我很确定有一些共同的,可能更好的
成语,这样做。例如,在我的解决方案中#39;我可能无法在需要时对standardDirective
进行角度加载。
(我知道我可以制作一个指令并使用属性来区分行为,但是现在,让我们假设我真的需要不同的指令..)
答案 0 :(得分:1)
您可以在指令上使用require
选项。
这基本上确保您的指令"继承"另一个指令,如基类。
您的基地'指令可以包含你所有的常用逻辑,然后是requiring
的其他指令,它可以根据需要自行调整。
您可以阅读有关它的更多信息in the Angular Docs - 请参阅“创建传达指令”部分