How to iterate over the keys and values with ng-repeat in AngularJS?

后端 未结 9 1680
抹茶落季
抹茶落季 2020-11-22 04:36

In my controller, I have data like: $scope.object = data

Now this data is the dictionary with keys and values from json.

I can acce

相关标签:
9条回答
  • 2020-11-22 05:07

    we can follow below procedure to avoid display of key-values in alphabetical order.

    Javascript

    $scope.data = {
       "id": 2,
       "project": "wewe2012",
       "date": "2013-02-26",
       "description": "ewew",
       "eet_no": "ewew",
    };
    var array = [];
    for(var key in $scope.data){
        var test = {};
        test[key]=$scope.data[key];
        array.push(test);
    }
    $scope.data = array;
    

    HTML

    <p ng-repeat="obj in data">
       <font ng-repeat="(key, value) in obj">
          {{key}} : {{value}}
       </font>
    </p>
    
    0 讨论(0)
  • 2020-11-22 05:09

    If you would like to edit the property value with two way binding:

    <tr ng-repeat="(key, value) in data">
        <td>{{key}}<input type="text" ng-model="data[key]"></td>
    </tr>
    
    0 讨论(0)
  • 2020-11-22 05:13

    I don't think there's a builtin function in angular for doing this, but you can do this by creating a separate scope property containing all the header names, and you can fill this property automatically like this:

    var data = {
      foo: 'a',
      bar: 'b'
    };
    
    $scope.objectHeaders = [];
    
    for ( property in data ) {
      $scope.objectHeaders.push(property); 
    }
    
    // Output: [ 'foo', 'bar' ]
    
    0 讨论(0)
提交回复
热议问题