如何根据Angularjs中的值显示glyphicon眼睛?

如何根据Angularjs中的值显示glyphicon眼睛?,angularjs,json,Angularjs,Json,我对表单中的所有字段都有Glyphion eye。若用户点击glyphicon eye open,它将变为glyphicon eye close,我将该特定字段名推送到数组中 在我的JSON响应中,我得到了隐藏字段的值,但是我如何使用该值并调用精确的Glyphion eye呢 JSON响应: { "response": { "status": { "code": "0", "message": "Success" }, "service": {

我对表单中的所有字段都有Glyphion eye。若用户点击glyphicon eye open,它将变为glyphicon eye close,我将该特定字段名推送到数组中

在我的JSON响应中,我得到了隐藏字段的值,但是我如何使用该值并调用精确的Glyphion eye呢

JSON响应:

{
  "response": {
    "status": {
      "code": "0",
      "message": "Success"
    },
    "service": {
      "servicetype": "4",
      "functiontype": "1005"
    },
    "data": {
      "session_id": "372",
      "roles": [
        {
        "hiddenfields": [
          {
            "fname": "firstname",
            "fblink": "fblink",
            "country": "country",
            "martialStatus": "martialStatus"
          }
        ]
        }
      ]
    }
  }
}
 $scope.user = {
            fname: "firstname",  
            lname: "lastname",
            dob: "dob",
            gender: "gender",
            country: "country",
            state: "state",
            city: "city",
            pincode: "pincode",
            martialStatus: "martialStatus",
            emailId: "emailId",
            mobile: "mobile",
            qualification: "qualification",
            fblink: "fblink"

        };

        $scope.allow = {};

        $scope.users = [];

        $scope.push = function(){
            $scope.users = [];
            var user = {}, 
                allow = $scope.allow;
            console.log(allow);
          Object.keys(allow).forEach(function(key){
            allow[key] ? user[key] = $scope.user[key] : null;
          });
          $scope.users.push(user);
        } 
<a class="menu-toggle" class="btn btn-default" ng-model="allow.fname"><i class="glyphicon" ng-class="{'glyphicon-eye-open':allow.fname, 'glyphicon-eye-close':!allow.fname}" ng-click="push(allow.fname = allow.fname?false:true)"></i></a>
控制器:

{
  "response": {
    "status": {
      "code": "0",
      "message": "Success"
    },
    "service": {
      "servicetype": "4",
      "functiontype": "1005"
    },
    "data": {
      "session_id": "372",
      "roles": [
        {
        "hiddenfields": [
          {
            "fname": "firstname",
            "fblink": "fblink",
            "country": "country",
            "martialStatus": "martialStatus"
          }
        ]
        }
      ]
    }
  }
}
 $scope.user = {
            fname: "firstname",  
            lname: "lastname",
            dob: "dob",
            gender: "gender",
            country: "country",
            state: "state",
            city: "city",
            pincode: "pincode",
            martialStatus: "martialStatus",
            emailId: "emailId",
            mobile: "mobile",
            qualification: "qualification",
            fblink: "fblink"

        };

        $scope.allow = {};

        $scope.users = [];

        $scope.push = function(){
            $scope.users = [];
            var user = {}, 
                allow = $scope.allow;
            console.log(allow);
          Object.keys(allow).forEach(function(key){
            allow[key] ? user[key] = $scope.user[key] : null;
          });
          $scope.users.push(user);
        } 
<a class="menu-toggle" class="btn btn-default" ng-model="allow.fname"><i class="glyphicon" ng-class="{'glyphicon-eye-open':allow.fname, 'glyphicon-eye-close':!allow.fname}" ng-click="push(allow.fname = allow.fname?false:true)"></i></a>
HTML:

{
  "response": {
    "status": {
      "code": "0",
      "message": "Success"
    },
    "service": {
      "servicetype": "4",
      "functiontype": "1005"
    },
    "data": {
      "session_id": "372",
      "roles": [
        {
        "hiddenfields": [
          {
            "fname": "firstname",
            "fblink": "fblink",
            "country": "country",
            "martialStatus": "martialStatus"
          }
        ]
        }
      ]
    }
  }
}
 $scope.user = {
            fname: "firstname",  
            lname: "lastname",
            dob: "dob",
            gender: "gender",
            country: "country",
            state: "state",
            city: "city",
            pincode: "pincode",
            martialStatus: "martialStatus",
            emailId: "emailId",
            mobile: "mobile",
            qualification: "qualification",
            fblink: "fblink"

        };

        $scope.allow = {};

        $scope.users = [];

        $scope.push = function(){
            $scope.users = [];
            var user = {}, 
                allow = $scope.allow;
            console.log(allow);
          Object.keys(allow).forEach(function(key){
            allow[key] ? user[key] = $scope.user[key] : null;
          });
          $scope.users.push(user);
        } 
<a class="menu-toggle" class="btn btn-default" ng-model="allow.fname"><i class="glyphicon" ng-class="{'glyphicon-eye-open':allow.fname, 'glyphicon-eye-close':!allow.fname}" ng-click="push(allow.fname = allow.fname?false:true)"></i></a>


如果字段值在数组中,那么我需要闭上眼睛显示glyphicon。

有时会出现错误!在ng CLS内不起作用。请你把它换成

<a class="menu-toggle" class="btn btn-default" ng-model="allow.fname">
    <i class="glyphicon" 
     ng-class="{'glyphicon-eye-open':allow.fname.length > 0, 'glyphicon-eye-close':allow.fname.length == 0}" 
     ng-click="push(allow.fname = allow.fname?false:true)">
    </i>
</a>

您可以像下面这样使用ng类

<div class="form-group" ng-repeat="x in allow" >
      <button class="btn btn-default"><span class="glyphicon" ng-class="{ 'glyphicon-eye-open': x.fname==0 ,  'glyphicon-eye-close': x.fname==1}"></span> {{x.name}}</button>
 </div>

{{x.name}

我现在可以通过如下方式将响应分配给我的模型,根据值创建图标

$scope.allow = response.data.roles[0].hiddenfields[0];

1.allow.fname不是字符串吗?2.allow.fname=allow.fname?false:true…这怎么会是false?3.push方法不使用任何参数在此处发布提示:(1)尝试将标题设置为普通的英语问题,以查询标记(
)结尾。我们宁愿主题(如“AngularJS”)在开始或结束时不添加在自制的标记中,我们得到了相当多的
Mongo-PHP-question
JavaScript | HTML | CSS | question
-请使用标记系统。(2) 没有必要在你做的每一篇文章中添加
请帮助我
(就此而言,还有评论)。我们知道你需要帮助,因此任何明确的声明都可能被解读为一种乞求。(3)请不要在你的帖子中添加任何紧急请求,这通常被理解为过分苛刻或粗鲁。阅读(4) 在你提出的20个问题中,你只接受了其中一个。这个价格太低了。请回顾一下你以前的问题,看看有没有你可以接受的答案。(4)你最大的错误是忽略答案,而在你迄今为止提出的问题中,有整整一半的问题根本没有回答。这是令人无法接受的粗鲁行为。写给你,一定花了一个小时,而且还用小提琴完成了。你可能会受益。