2016-02-02 9 views
0

Привет, я делаю логин для ионного приложения ..... и я использую корнеплод, как глобальную переменную, используемую во всем контроллере (LoginCtrl, SalirCtrl) Когда пользователь входит в систему I сохраните его информацию в переменной корневища и покажите эту информацию в SalirCtrl.Ясный ионный каркас для корнеплодов

BUt, когда пользователь выходит из системы и другой пользователь регистрируется в своей информации в SalirCtrl.

Кто-то знает об этом.

LoginCtrl

if($scope.datos=='true') {//if token is true. User is log-in 
    $rootScope.pNombre=data.persona.primerNombre; 
    $rootScope.sNombre=data.persona.segundoNombre; 
    $rootScope.pApellido=data.persona.primerApellido; 
    $rootScope.sApellido=data.persona.segundoApellido; 
    $state.go('tabs.perfil'); 
} 

SalirCtrl

.controller('SalirCtrl', function($scope, $state, $ionicPopup, ServUsuario,$rootScope,$ionicHistory) { 
//para bloquear el boton atras 
    $ionicHistory.nextViewOptions({ 
     disableAnimate: true, 
     disableBack: true 
    }); 
    //FIN para bloquear el boton atras 
    $scope.pNombre = $rootScope.pNombre;//save in a scope variable rootscope 
    $scope.sNombre = $rootScope.sNombre; 
    $scope.pApellido = $rootScope.pApellido; 
    $scope.sApellido = $rootScope.sApellido; 
    //METODO SALIR 
    $scope.salir = function() { 
    var confirmPopup = $ionicPopup.confirm({ 
     title: 'Log-out', 
     template: '¿Log-out?' 
    }); 
    confirmPopup.then(function(res) { 
     if(res) { 
     console.log('You are sure'); 
     $state.go('login'); 
     $scope.pNombre=" "; //When log-out is true. Variables equals empty 
     $scope.sNombre=" "; 
     $scope.pApellido=" "; 
     $scope.sApellido=" "; 
     } else { 
     console.log('You are not sure'); 
     } 
    }); 
    }; 
    //FIN METODO SALIR 
}) 

Наконец я печатаю, что переменные в perfil.html

{{pNombre}} {{sNombre}} {{pApellido}} {{ sApellido}}

Спасибо ....!

ответ

0

Я предполагаю, что вы страдаете от кеширования в UL-маршрутизаторе AngularJS. В вашем маршруте конфигурации, что происходит, когда вы делаете что-то вроде этого ?:

$stateProvider.state('myState', { 
    cache: false, 
    url : '/myUrl', 
    templateUrl : 'my-template.html' 
}) 

По умолчанию Ионные кэширует взгляды, как описано здесь:

http://ionicframework.com/docs/api/directive/ionNavView/

Когда мнения кэшируются ваши контроллеры надеваете» t перезагрузка во время навигации. Дай мне знать, если это трюк?

Бест,

0

Ваша цель состоит в том, чтобы внедрить пользователя Service, который может хранить учетные данные и которые могут быть доступны из всех контроллеров. См. Пример осуществления ниже:

angular.module('your-app').service('myUserService', myUserService); 

function myUserService() { 
    var _identity = null; 

    return { 
    getUser: getUser, 
    setUser: setUser, 
    login: login, 
    logout: logout 
    ... 
    }; 

    function getUser() { 
    return _identity; 
    } 

    function setUser(user) { 
    _identity = user; 
    } 

    function login() { 
    //your login logic here 
    } 

    function logout() { 
    _identity = null; 
    //other logout logic 
    } 

    ... 
} 
Смежные вопросы