показ модульных результатов 2 объединенных объектов JSON - PullRequest
0 голосов
/ 15 мая 2018

В настоящее время я объединяю 2 отдельных результата json в 1 объект с именем CustomerObject.

Javascript код:

$scope.customerObject.push(result['customers']);
$scope.customerObject.push(result['servers_to_monitor']);
$scope.customerObject.push.apply(result['customers']);
$scope.customerObject.push.apply(result['servers_to_monitor']);
console.log($scope.customerObject);

вышеуказанный код объединяет в следующем объекте:

(2) [Array(6), {…}]
0:(6) ["customername one", "two", "etc", "etc", "etc", "etc"]
1:{customername one: Array(0), two: Array(2), etc: Array(0), etc: 
Array(0), etc: Array(3), …}
length:2

Я только перебираю значения customerObject[0] однако есть значения, которые должны отображаться с <p class="mapsColor">{{customerObject[1]}} need to be iterated through as well</p>

Я мог бы получить доступ к обоим значениям, если бы выполнил ng-repeat через весь customerObject, однако это означало бы, что оно будет повторяться только дважды (2 объекта с объектами внутри них), и мне это нужно повторить для каждого клиента в списке (хранится в customerObject[0]).

CustomerObject[1] содержит ряд объектов, заполненных данными.
Текущий код:

<div ng-repeat="row in customerObject[0]  " class="{{css}}" style="border-radius: 15px">
    <div  style="float: left; border-radius: 15px !important;" id="{{row}}" ng class="google_maps"></div>
<div style="position: absolute; top: 15px;">
    <div class="pull-right  mapsLegenda"   id="mapsRedBox"> 
        <h1 id="header_{{makeIdPickable(row)}}" class="pull-left  mapsTotal" style=" font-size: x-large !important; color: white ;">{{row}}: {{totals[$index]}}</h1>
        <br>
        <ul >
            <li >
                    <div class="mapsColor">
                <p class="mapsColor">{{customerObject[1].customername[0]['servername']}}</p>
                    <div class="color-box"  style="background-color: #{{server.icon_color}}; display: block; width: 10px; height: 10px"></div>
            </li>
        </ul>   
    </div>
<div >

currently

С помощью приведенного выше кода я правильно отображаю имя клиента с {{row}} (черные полосы на рисунке), однако я не могу отобразить значения customerobject[1] (в настоящее время одинаковые для каждого) соответственно, что это то, что мне нужно сделать. Таким образом, test456 заменяется соответствующим значением из customerobject[1]

Пожалуйста, скажите, если мне нужно объяснить лучше, и если мой вопрос неясен или слишком широк.

1 Ответ

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

Итак, мне удалось решить собственную проблему, по-видимому, в дальнейшем можно использовать элемент {{row}} из customerobject [0] в качестве параметра, единственным недостатком этой реализации является то, что мне нужно добавить строку для каждого сервера. Так как они, вероятно, никогда не станут больше 4 в моем случае, это не большая проблема. Но стоит подумать, если вы столкнетесь с подобной проблемой самостоятельно.

{{CustomerObject [1] [строка] [0] .servername}}

this repeats for each in customers

, поэтому для этих 3, показанных выше, вам нужно 3 строки, по 1 для каждого сервера.

                <p ng-show="customerObject[1][row][0].servername != ' '" class="mapsColor">{{customerObject[1][row][0].servername}}</p>
                <p ng-show="customerObject[1][row][1].servername != ' '" class="mapsColor">{{customerObject[1][row][1].servername}}</p>
                <p ng-show="customerObject[1][row][2].servername != ' '" class="mapsColor">{{customerObject[1][row][2].servername}}</p> 

Я знаю, черт возьми, но, поскольку я могу придумать лучшее решение, это придется сделать с грустью, если кто-нибудь знает лучший способ, скажите :)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...