AngularJS é usado para construir WebApps de página única. Pela sua natureza, você terá apenas 1 Título para sua página, então mesmo que vá para ‘/ produto’ ou ‘/ sobre’, você verá o mesmo Título no Navegador. Não é muito amigável …
Onde está uma solução possível para esse problema.
Em seu HTML, altere a tag de título para incluir um ng-bind :
<title ng-bind="'MyApp - ' + $root.title">MyApp - Welcome</title>
Em seu app.js:
$routeProvider
.when('/product', {templateUrl: '/partials/product.html', controller: 'ProductCtrl', title: 'Discover our Product'})
.when('/about', {templateUrl: '/partials/about.html', controller: 'AboutCtrl', title: 'About US'});
em seu run (), adicione um $ rootScope. $ em:
$rootScope.$on("$routeChangeSuccess", function(currentRoute, previousRoute){
//Change page title, based on Route information
$rootScope.title = $route.current.title;
});
Observação: o motivo pelo qual estou usando ng-bind em vez do vínculo do modelo angular ‘{{expression}}’ está expresso na documentação:
É preferível usar ngBind em vez de {{expression}} quando um modelo é momentaneamente exibido pelo navegador em seu estado bruto antes de o Angular o compilar.