2015-12-24 7 views
7

voglio cambiare il contenuto del menu laterale quando un utente è connessoCome cambiare menu laterale in ionica per un utente loggedin

Esempio 1 - Utente non connesso:

Questo menu laterale viene mostrata quando un utente non è connesso

enter image description here

Esempio 2 - utente è collegato:.

Come puoi vedere, ci sono un paio di voci di menu extra. Questi sono mostrati solo quando un utente è connesso

enter image description here

nel mio controller:.

$http.get('http://127.0.0.1:8080/elodieService/consommateurs/'+$localStorage.idconsommateur, { params: { "idconsommateur":$localStorage.idconsommateur, fields: "nom,prenom",format:"json"} }).then(function(result) { 

       console.log(JSON.stringify(result.data)); 
       $scope.prenomconsommateurConnect=result.data.prenom; 

nella vista:

<ion-header-bar class="bar-stable" > 
       <h1 class="title" ng-hide="!prenomconsommateurConnect" ng-controller="accueilController">Bonjour Hello {{prenomconsommateurConnect}}</h1> 
       <h1 class="title" ng-hide="prenomconsommateurConnect" ng-controller="accueilController">Bonjour Hello link</h1> 

       </ion-header-bar> 

ma ho trovato sempre questo risultato "bonjour ciao link "cosa posso fare per favore ??

Cosa posso fare? Dovrei usare ng-if, ng-show o ng-hide? O c'è un'altra/soluzione migliore per questo caso?

Qualsiasi aiuto è apprezzato.

+0

ng-if is load element solo se expression è true e ng-show viene utilizzato per nascondere e mostrare l'elemento in base all'espressione. –

+0

Vorrei usare 'ng-if'. Avevo una pagina di accesso in cui, quando l'utente ha effettuato l'accesso, ho bisogno di nascondere il pulsante di accesso/registrazione altrimenti mostrarlo. – Amarnath

+0

Se si utilizza ui-router è possibile definire (nel proprio app.config utilizzando $ stateProvider) uno stato (abstract) con menu1 e un altro stato con menu2 – Mat

risposta

1

è possibile inserire ng-if OR ng-show e ng-hide .. ho usato ng-if ..!

controller menù:

.controller('AppCtrl', function($scope, $ionicModal, $timeout,$ionicSideMenuDelegate,$http) { 

$http.get('http://127.0.0.1:8080/elodieService/consommateurs/'+$localStorage.idconsommateur, { 
    params: { "idconsommateur":$localStorage.idconsommateur, fields: "nom,prenom",format:"json"} }) 
    .then(function(result) { 
    console.log(JSON.stringify(result.data)); 
    if(result.data.prenom) { 
     $scope.prenomconsommateurConnect = result.data.prenom; 
    }else{ 
     $scope.prenomconsommateurConnect = ""; 
    } 
}); 

$scope.$watch(function() { 
    return $ionicSideMenuDelegate.getOpenRatio(); 
}, function (value) { 
    console.log("value " + value); 
    $scope.getMenuProfile(); 
}); 

$scope.getMenuProfile = function() { 
    if($scope.prenomconsommateurConnect === ""){ 
    $scope.isLogin =false ; 
    }else{ 
    $scope.isLogin =true ; 
    } 
}; 
} 

menu.html

<ion-header-bar class="bar-stable"> 
    <h1 ng-if="!isLogin" class="title">Login plz</h1> 
    <h1 ng-if="isLogin" class="title">U are Login</h1> 
</ion-header-bar> 

Spero che questo ti ha aiutato.

+0

guarda per favore lo modifico –

+0

sempre ho Login plz : (cosa posso fare? –

+0

se si è login ... già ... basta ottenere informazioni locali memorizzate..e usare invece di chiamare API .. –

Problemi correlati