我有一个页面,上面有 2 个容器,每个容器都包含图像。我想为这些图像添加一些特定的视觉属性和功能。这些特定的东西在两个存储库中是相似的,但并不相同。所以我想为 2 种类型的图像创建一个指令,但我希望它的行为有所不同,具体取决于放置的存储库(实际上是范围)图像。检查指令正文中元素的范围:
studio.directive('orientable', function () {
return {
link: function(scope, element, attrs) {
if(scope.id=="Depository1"){
// give to element some specific behaviour
}else if(scope.id=="Depository2"){
// give to element another specific behaviour
}
}
}
在我看来很难看。
我不能使用将参数传递给指令,因为那样图像的标签将变为不可读,并且当有很多图像时,它将是灾难。我不想要两个指令,因为它们基本相同。
所以我想要一个指令,但不知何故它必须是“多态的”。这里有可能继承某种继承吗?我认为我在理解 Angular 指令方面遗漏了一些重要的东西。