如何为登录用户更改离子侧面菜单

Rim*_*oui 7 javascript angularjs cordova ionic-framework

我希望在用户登录时更改侧边菜单的内容.

示例1 - 未登录的用户:

当用户未登录时显示此侧面菜单.

在此输入图像描述

示例2 - 用户已登录:

如您所见,还有一些额外的菜单项.这些仅在用户登录时显示.

在此输入图像描述

在我的控制器中:

$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;
Run Code Online (Sandbox Code Playgroud)

在视图中:

 <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>
Run Code Online (Sandbox Code Playgroud)

但我发现总是这个结果"bonjour hello link"我该怎么办?

我能做什么?我应该使用ng-if,ng-show还是ng-hide?或者是否有其他/更好的解决方案?

任何帮助表示赞赏.

the*_*gar 1

你可以把 ng-if 或 ng-show 和 ng-hide ..我用过 ng-if ..!

在菜单控制器中:

.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 ;
  }
};
}
Run Code Online (Sandbox Code Playgroud)

菜单.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>
Run Code Online (Sandbox Code Playgroud)

希望这对你有帮助。