5

tl; dr: Wie kann ich Winkel zwingen, nur auszuführen, die ngclick Richtlinie in einem <a> Element ohne Entleerung/Entfernen des href?priorisieren ngclick über nghref in <a> Elemente

Meine Website hat einige benutzerdefinierte Verhalten auf einigen Elementen (modal öffnet, Adressleiste Updates, etc.), aber für SEO Indizierung ich auch brauche es ein <a> Element mit einem href Attribut zu sein, einen gültigen Link enthält.

wie:

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

jedoch Winkel führt auch die href und das Routing macht meine benutzerdefinierte ng-click Logik nutzlos.

Gibt es eine Möglichkeit, dieses Verhalten umzukehren?

Antwort

11

Sie sollten den Parameter $event an onclick function übergeben und e.preventDefault() method ausführen;

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

und in der Steuerung:

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

Beispiel:

http://plnkr.co/edit/sKHST3GkRENtxptxr0mK?p=preview

+0

, wie ich die ng klicken und danach i href ausführen ausführen kann? –