在进行后退时使用href进行ng-click

时间:2014-02-04 13:54:09

标签: javascript angularjs

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)?

1 个答案:

答案 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>