Angular允许您在使用href
时忽略ng-click
:
<a href ng-click="openModal()">Open modal</a>
但是,当您想为SEO或带有活动链接的PDF生成HTML快照时,这不适用。
是否有办法为此标记提供以下逻辑:
<a href="/modal" ng-click="openModal()">Open modal</a>
如果ng-click不可用,请使用href操作(此时href操作将覆盖ng-click)?
答案 0 :(得分:3)
我将它包装在一个指令里面,我将其称为preventDefault以防止链接元素的默认行为:
app.directive("myLinkOverload", function () {
return function (scope, element) {
element.on("click", function (evt) {
evt.preventDefault();
});
}
});
<a href="/modal" ng-click="openModal()" data-my-link-overload="">Open modal</a>