2016-05-02 8 views
0

ユーザーログイン.But 都市リストを表示都市リストを非表示にします。ここでNG-皮は私がlogin.When <strong>Superadmin</strong>ログインに基づいて、リスト値を非表示にする

controller.js

myAppControllers.controller('LoginController',['$scope', '$location', '$http', 
function($scope, $location, $http) { 

    $scope.log_userx = {}; 

    $scope.login_user = function(login) { 
    $scope.log_user = angular.copy(login);  
    $scope.login = {};         
    $http({ 
     url: "/login", 
     method: "POST", 
     headers: { 'Content-Type': 'application/json' }, 
     data:$scope.log_user 
    }).success(function (data) { 
     var resp = data['user'] 
     $scope.user_admin = data.user.roles; 
     $location.path("/index"); 
    }).error(function (data,status) { 
     $location.path("/login"); 
    }); 
    $scope.finduser=function(){ 
    $scope.user_admin1=$scope.user_admin; 
    alert(angular.toJson("admin1 "+$scope.user_admin1)); 
    $scope.visible = false; 
    if($scope.user_admin1!=="superadmin") 
    { 
    alert("Not Superadmin"); 
    $scope.visible =true; 
    return $scope.visible; 
    } 
    return true; 
    }; 
};}]); 
HTMLファイルに

 <ul class="breadcrumb" style="background-color:#EEEEEE" ng-init="finduser()"> 
      <li><button type="submit" id="datadash" class="btn btn-default">home</button></li> 
      <li ng-if="visible==true"><a href="/#/city" class="button special">city</a></li>    

</div> 
+0

ng-if = "visible"を与えて、それが動作しているかどうかを確認するだけです。また、{visible}を使って可視値を印刷してチェックします。 –

+1

ng-ifが独自のスコープを作成し、可視がコントローラに接続されていないことに注意してください。 ng-showが問題を解決するか、またはcontrollerAs構文を使用します。 –

答えて

0

ifとelse条件の両方を含む更新範囲。

if($scope.user_admin1!=="superadmin") 
{ 
alert("Not Superadmin"); 
$scope.visible =true; 
// return $scope.visible; 
}else{ 
$scope.visible =false; 
} 

以下のようにHTMLを変更してください。

<li ng-if="visible"><a href="/#/city" class="button special">city</a></li> 
+0

私はアラートを取得していないし、動作していない..街は両方のログインに表示されていません – divakar

+0

ngの - initはなぜ警告を取得していない働いていない – divakar

0

は、市内のリストを表示する条件を変更することにより、このHTMLを使用してみてくださいです。

<ul class="breadcrumb" style="background-color:#EEEEEE" ng-init="finduser()"> 
     <li><button type="submit" id="datadash" class="btn btn-default">home</button></li> 
     <li ng-if="!visible"><a href="/#/city" class="button special">city</a></li> 
</ul> 
+0

それは動作していません – divakar

0

これにはng-showを使用する必要があります。

<li ng-show="visible==true"><a href="/#/city" class="button special">city</a></li> 

この「都市」リンクは、スーパー管理者だけに表示されます。

このスーパー管理リンクはcontroller.jsレベルの$ scope値に基づくアニメーションの一部ですが、ng-ifはcontroller.jsを除くhtmlからhtmlへの入力にアニメーションがあるときに$ animateサービスを使用します。ここには、角度文書からのng-ifng-showの例があります。

+0

ng-showを使用し、ng-ifを使用する特別な理由はありませんか? –

+1

このスーパー管理リンクはcontroller.jsレベルの$ scope値に基づくアニメーションの一部ですが、ng-ifはcontroller.jsを除いたhtmlからhtmlへの入力にアニメーションがあるときに$ animateサービスを使用します。 [ng-if](https://docs.angularjs.org/api/ng/directive/ngIf)と[ng-show](https://docs.angularjs.org/api/ng/directive)の例を次に示します。/ngShow) – mattymanme

+0

Ok ..もし私たちが何かをアニメーション化したいなら、ng-if ...と一緒に行く必要があります。正しく理解していますか? –

関連する問題