У меня есть функция входа в angularjs:
$scope.login = function() {
$http.post('/users/login', $scope.user).then(function(result) {
if (result.data.userid) {
$scope.isAuthenticated = true;
$cookies.put('userid', result.data.userid);
$rootScope.userid = result.data.userid;
$scope.message = result.data.msg;
//$window.location = '/';
} else {
$scope.isAuthenticated = false;
$scope.message = result.data.msg;
}
});
}
после входа в систему я хочу показать userid через $ rootScope.userid в html и выпустить сообщение $ scope.message. Если я хочу показать userid, мне нужно перезагрузить страницу по $window.location = '/'
потому что она не изменяется автоматически. Но если я перезагружу страницу, я не могу пропустить сообщение. Может ли кто-нибудь предложить мне решение? спасибо
В таком сценарии я бы использовал ui-router и уложил маршруты и контроллеры, как показано ниже:
В контроллере входа
Надеюсь это поможет.