Для каждой пары ключей-значений показываются значения под ключом - PullRequest
0 голосов
/ 04 мая 2018

Есть объект с такой формой:

anObject = {name_1 : [4], 
            name_2 : [1], 
            name_3 : [5, 1, 2], 
            name_4 : [3, 4],  
};

слева это имя свойства, а справа это массив числовых значений (одно или несколько значений).

Я хочу показать им как-то так:

name_1 
  - 4
name_2
  - 1
name_3 
  - 5
  - 1
name_4
  - 3 
  - 4

Я могу печатать, используя ng-repeat name_ s, например:

<div ng-repeat="(key, value) in $ctrl.anObject ">{{key}}</div>  

Я могу также показать числовые значения, как это:

<div ng-repeat="(key, value) in $ctrl.editAlertsByType">{{key}} - {{value}}</div>

но я хочу поставить их под ключи. Возможно ли это?

Ответы [ 2 ]

0 голосов
/ 04 мая 2018

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js"></script>

<body ng-app="myApp" ng-controller="myCtrl">

<div ng-repeat="(key, value) in records">{{key}}
<div >{{value.toString()}}</div>
</div>


<script>
var app = angular.module("myApp", []);
app.controller("myCtrl", function($scope) {
  $scope.records = {
    "key":[1],
    "key2":[1,2],
    "key3":[1,2,3]
  }
});
</script>
0 голосов
/ 04 мая 2018

value, который вы извлекаете, является массивом, поэтому отобразите его со вторым ng-repeat. Вот пример:

var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
  $scope.anObject = {
    name_1: [4],
    name_2: [1],
    name_3: [5, 1, 2],
    name_4: [3, 4],
  };
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js"></script>

<div ng-app="myApp" ng-controller="myCtrl">
  <div ng-repeat="(key, value) in anObject">
    {{key}}
    <div ng-repeat="x in value">
      - {{x}}
    </div>
  </div>
</div>
...