【发布时间】:2014-02-04 10:50:17
【问题描述】:
我可以定义一个影响文档中所有 <a> 元素的指令,如下所示:
myApp.directive('a', function() {
return {
restrict: 'E',
link: function(scope, element) {
// Some custom logic to apply to all <a> elements
}
};
});
除了匹配给定 CSS 选择器的元素,我可以这样做吗?像这样?
myApp.directive('a[href^="mailto:"]', function() {
return {
restrict: 'E',
link: function(scope, element) {
// Some custom logic to apply to all <a> elements
// w/ a href attribute starting in "mailto:"
}
};
});
【问题讨论】:
-
我意识到如果答案是“否”,有一个明确的解决方法:简单地检查
link函数中的元素,如果它与我正在寻找的任何选择器不匹配则退出为了。问题仍然存在! -
我担心答案是否定的,您将不得不使用该解决方法。您可能想在 Angular 的 github 上发布一些内容作为功能请求。
-
我也怀疑这不是。但是,如果可能的话,我会做的工作会有所不同。我不会在“a”上使用元素指令,而是在自定义“my-href”属性上使用属性指令。或者,如果您由于某种原因无法更改模板,则可能是属性指令
href。
标签: angularjs angularjs-directive