Javascript angularJs ng-在json对象数组上重复

Javascript angularJs ng-在json对象数组上重复,javascript,angularjs,json,Javascript,Angularjs,Json,这是我需要解析的json格式: [{ "perAddress": { "city": "Delhi", "Street": "saket", "pin": "101011" }, "flag": false }, { "perAddress": { "city": "Delhi", "Street": "malvya", "pin": "101011" }, "flag": true, "alterAddress": {

这是我需要解析的json格式:

[{
  "perAddress": {
    "city": "Delhi",
    "Street": "saket",
    "pin": "101011"
  },
  "flag": false
}, {
  "perAddress": {
    "city": "Delhi",
    "Street": "malvya",
    "pin": "101011"
  },
  "flag": true,
  "alterAddress": {
    "city": "bangalore",
    "street": "velondore",
    "pin": "560103"
  }
}];
  • 如果标志为false,则不会显示相应的行 高亮显示,仅填充
    perAddress

  • 如果该标志为true,则相应的行将用 包含
    perAddress
    并单击
    alterAddress
    所需的行 要填充。如何遍历json

  • 试试这个

    var-app=angular.module(“myApp”,[]);
    app.controller(“myCtrl”,函数($scope){
    $scope.data=[{
    “perAddress”:{
    “城市”:“德里”,
    “街道”:“萨凯特”,
    “pin”:“101011”
    },
    “旗帜”:假
    }, {
    “perAddress”:{
    “城市”:“德里”,
    “街道”:“马尔维亚”,
    “pin”:“101011”
    },
    “旗帜”:正确,
    “地址”:{
    “城市”:“班加罗尔”,
    “街道”:“维隆多尔”,
    “pin”:“560103”
    }
    }];
    });
    
    。突出显示{
    背景颜色:黄色;
    }
    
    
  • {{d.perAddress} {{d.alterAddress}
  • 创建一个css类“Highlight”并使用此代码-

    <ul>
      <li ng-repeat="i in jsonArray" ng-class="{'Highlight' : i.flag}">
        <span>{{i.perAddress.city}} | {{i.perAddress.Street}} | {{i.perAddress.pin}}</span>
      </li>
    </ul>
    
    • {{i.perAddress.city}{{i.perAddress.Street}}{{i.perAddress.pin}}

    我可以用两种方式告诉你。也不需要使用标志

    .highlight {
      background-color: gray;
    }
    
    使用flag解决方案如下:

     <div>
       <div ng-repeat="address in addresses" ng-class="{'highlight' : address.flag}">
        <a ng-if="!showAlterAddress" ng-click="showAlterAddress = !showAlterAddress">{{address.perAddress}}</a>
        <span ng-if="showAlterAddress">{{address.alterAddress}}</span>
       </div>
     </div>
    
     <div>
       <div ng-repeat="address in addresses" ng-class="{'highlight' : address.alterAddress}">
        <a ng-if="!showAlterAddress" ng-click="showAlterAddress = !showAlterAddress">{{address.perAddress}}</a>
        <span ng-if="showAlterAddress">{{address.alterAddress}}</span>
       </div>
     </div>
    
    
    {{address.perAddress}
    {{address.alterAddress}
    
    在不使用标志的情况下,解决方案如下:

     <div>
       <div ng-repeat="address in addresses" ng-class="{'highlight' : address.flag}">
        <a ng-if="!showAlterAddress" ng-click="showAlterAddress = !showAlterAddress">{{address.perAddress}}</a>
        <span ng-if="showAlterAddress">{{address.alterAddress}}</span>
       </div>
     </div>
    
     <div>
       <div ng-repeat="address in addresses" ng-class="{'highlight' : address.alterAddress}">
        <a ng-if="!showAlterAddress" ng-click="showAlterAddress = !showAlterAddress">{{address.perAddress}}</a>
        <span ng-if="showAlterAddress">{{address.alterAddress}}</span>
       </div>
     </div>
    
    
    {{address.perAddress}
    {{address.alterAddress}
    
    您可以使用
    .forEach
    方法,该方法接受回调函数作为参数。use angular.ForeachIt似乎json无效,或者可能是与上次编辑的人刚刚更改的。json的格式不正确,可能是:[{“perAddress”:{“city”:“德里”,“街道”:“saket”,“pin”:“101011”},“flag”:false},{“perAddress”:{“city”:“Delhi”,“Street”:“malvya”,“pin”:“101011”},“flag”:true,},{“alterAddress”:{“city”:“bangalore”,“Street”:“velondore”,“pin”:“560103”}}];