Najłatwiej to osiągnąć, korzystając z usługi. Na przykład:
app.factory( 'AuthService', function() {
var currentUser;
return {
login: function() { ... },
logout: function() { ... },
isLoggedIn: function() { ... },
currentUser: function() { return currentUser; }
...
};
});
Możesz następnie odwołać się do tego w dowolnym ze swoich kontrolerów. Poniższy kod obserwuje zmiany wartości z usługi (przez wywołanie określonej funkcji), a następnie synchronizuje zmienione wartości z zakresem.
app.controller( 'MainCtrl', function( $scope, AuthService ) {
$scope.$watch( AuthService.isLoggedIn, function ( isLoggedIn ) {
$scope.isLoggedIn = isLoggedIn;
$scope.currentUser = AuthService.currentUser();
});
});
Następnie możesz oczywiście wykorzystać te informacje w dowolny sposób; np. w dyrektywach, szablonach itp. Możesz to powtórzyć (dostosuj do tego, co musisz zrobić) w swoich kontrolerach menu itp. Wszystko to zostanie automatycznie zaktualizowane po zmianie stanu usługi.
Wszystko bardziej szczegółowe zależy od Twojej implementacji.
Mam nadzieję że to pomoże!