2015-12-24 7 views
7

Ich mag ändern Inhalt der Seite im Menü ändern, wenn ein Benutzer angemeldet istWie Seite Menü in ionischen für einen loggedin Benutzer

Beispiel 1 - Benutzer nicht in protokolliert:

Diese Seite im Menü gezeigt wird, wenn ein Benutzer nicht angemeldet ist

enter image description here

Beispiel 2 - Benutzer in angemeldet ist.

Wie Sie sehen können, gibt es ein paar zusätzliche Menüpunkte. Diese werden nur dann angezeigt, wenn ein Benutzer angemeldet ist

enter image description here

in meinem 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; 

in der Ansicht:

<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> 

aber ich fand immer das Ergebnis „bonjour hallo link "was kann ich bitte tun ??

Was kann ich tun? Sollte ich ng-if, ng-show oder ng-hide verwenden? Oder gibt es eine andere/bessere Lösung für diesen Fall?

Jede Hilfe wird geschätzt.

+0

ng-if ist das Ladeelement nur, wenn der Ausdruck wahr ist, und ng-show wird verwendet, um das Element basierend auf dem Ausdruck ein- und auszublenden. –

+0

Ich würde 'ng-if' verwenden. Ich hatte eine Login-Seite, auf der ich mich anmelden musste, wenn ich mich angemeldet habe. – Amarnath

+0

Wenn Sie UI-Router verwenden, können Sie (in Ihrer app.config mit $ stateProvider) einen Zustand (abstract) mit menu1 und einen anderen Zustand mit menu2 definieren – Mat

Antwort

1

können Sie ng-wenn OR ng-show und ng-verstecken .. ich habe ng-if ..!

in Menü-Steuerung:

.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> 

hoffen, dass diese Ihnen geholfen.

+0

gucken Sie bitte ich bearbeite es –

+0

immer ich habe Login plz :(was kann ich tun? –

+0

wenn sie login..bereite..just erhalten lokal gespeichert info..and verwenden statt aufrufen API .. –

Verwandte Themen