Recentemente, eu estava escrevendo um controlador de logout AngularJS. Esse controlador deveria fazer apenas uma coisa: alterar o estado e redirecionar o usuário para /. O problema era que não estava sendo executado. Como se viu, o Angular requer algum tipo de template ou templateURL para todas as rotas. A solução foi definir um modelo de espaço:
angular.module('myapp.logout', [])
.config(function($routeProvider) {
$routeProvider
.when('/logout', {
template: ' ', // <-- this is the important part
controller: 'LogoutCtrl'
}
})
.controller('LogoutCtrl', function($location) {
// do logout stuff
$location.path('/');
})