优先考虑ngclick而不是nghref <元素

prioritize ngclick over nghref in <a> elements

本文关键字:nghref 元素 ngclick      更新时间:2023-09-26

tl;dr:我怎样才能强制angular只在<a>元素中执行ngclick指令而不清空/删除href呢?

我的网站有一些自定义行为的一些元素(模态打开,位置栏更新等),但对于SEO索引我需要它是一个<a>元素与href属性包含一个有效的链接。

:

<a href="/{{item.url}}" ng-click="doCustomStuff(item)">some link</a>

但是,angular也会执行href,路由会让我自定义的ng-click逻辑失效。

有办法扭转这种行为吗?

应将$event参数传递给onclick函数并执行e.preventDefault()方法;

<a ng-click="clickHandler($event)" href="/home" >home</a>

and in controller:

$scope.clickHandler = function(e){
   e.preventDefault();
}

的例子:

http://plnkr.co/edit/sKHST3GkRENtxptxr0mK?p =预览