La directiva ng-href cumple una función similar a ng-src. Evita que se pueda pinchar en un enlace <a> con una expresión de AngularJS antes de que ésta se haya resuelto.
Veamos un ejemplo:
<!DOCTYPE html>
<html ng-app="app">
<head>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.2.19/angular.js"></script>
</head>
<body ng-controller="PruebaController">
<a href="{{url}}" >Pincha aqui</a>
<a ng-href="{{url}}" >Pincha aqui</a>
<script src="script.js"></script>
</body>
</html>
href el usuario podría pinchar antes de que se resuelva , lo que le llevaría a la URL ”{{url}}”, URL que ovbiamente no existe.ng-href no se puede pinchar en el link hasta que AngularJS lo haya resuelto.
var app = angular.module("app", []);
app.controller("PruebaController", function($scope) {
$scope.url = "https://www.google.es";
});
$scope.url la dirección del enlace.