Итак, я пытаюсь получить объект ($ rootScope.User) в NavCtrl после входа пользователя (так после запуска функции onLogin).
Но, я делаю что-то неправильно, и я не могу понять, как это исправить. Я думаю, что это может быть чтение кода, прежде чем он получит значение. Но я не уверен. Если бы кто-нибудь мог мне помочь, это было бы потрясающе!
Спасибо!
.controller('LoginCtrl', function (Backand, $state, $rootScope, LoginService, $ionicPopup, dataService) {
var login = this;
$rootScope.isLoggedin = null;
function signin() {
LoginService.signin(login.email, login.password)
.then(function() {
onLogin();
}, function (error) {
console.log(error);
$rootScope.showAlert = function() {
var alertPopup = $ionicPopup.alert({
title: 'Login Error',
template: error.error_description
});
};
$rootScope.showAlert();
});
}
function onLogin() {
$rootScope.$broadcast('authorized');
$state.go('tabs.feed');
login.username = Backand.getUsername();
$rootScope.isLoggedin = true;
$rootScope.cUser = Backand.getUserDetails().$$state.value;
console.log($rootScope.cUser);
}
});
.controller('NavCtrl', function($scope, $rootScope, Backand, dataService) {
function getUser() {
$scope.user = $rootScope.cUser;
console.log($scope.user);
}
getUser();
});
Я действительно исправил эту опечатку после того, как я разместил вопрос, и он все еще не работает ... –