A very elegant way is to use ng-controller to run a single controller outside of the ng-view:
<div class="collapse navbar-collapse" ng-controller="HeaderController">
<ul class="nav navbar-nav">
<li ng-class="{ active: isActive("https://stackoverflow.com/")}"><a href="https://stackoverflow.com/">Home</a></li>
<li ng-class="{ active: isActive('/dogs')}"><a href="http://stackoverflow.com/dogs">Dogs</a></li>
<li ng-class="{ active: isActive('/cats')}"><a href="http://stackoverflow.com/cats">Cats</a></li>
</ul>
</div>
<div ng-view></div>
and include in controllers.js:
function HeaderController($scope, $location)
{
$scope.isActive = function (viewLocation) {
return viewLocation === $location.path();
};
}