Also versuche ich ein Objekt ($ rootScope.User) in der NavCtrl zu bekommen, nachdem der Benutzer sich anmeldet (also nachdem die onLogin Funktion ausgeführt wurde).
Aber ich mache etwas falsch und ich kann nicht herausfinden, wie es zu beheben ist. Ich denke, es könnte den Code lesen, bevor er einen Wert bekommt. Aber ich bin mir nicht wirklich sicher. Wenn mir jemand helfen könnte, wäre das toll!
Danke!
.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();
});
Ich habe diesen Tippfehler behoben, nachdem ich die Frage gepostet habe und es immer noch nicht funktioniert ... –