/Angular.js 1.8

Improve this Doc View Source ngHref

  1. directive in module ng


Using AngularJS markup like {{hash}} in an href attribute will make the link go to the wrong URL if the user clicks it before AngularJS has a chance to replace the {{hash}} markup with its value. Until AngularJS replaces the markup the link will be broken and will most likely return a 404 error. The ngHref directive solves this problem.

The wrong way to write it:

<a href="http://www.gravatar.com/avatar/{{hash}}">link1</a>

The correct way to write it:

<a ng-href="http://www.gravatar.com/avatar/{{hash}}">link1</a>

Directive Info

  • This directive executes at priority level 99.


  • as attribute:


Param Type Details
ngHref template

any string which can contain {{}} markup.


This example shows various combinations of href, ng-href and ng-click attributes in links and their different behaviors:

© 2010–2020 Google, Inc.
Licensed under the Creative Commons Attribution License 3.0.