Переопределение элементов в json при использовании ng repeat - PullRequest
1 голос
/ 10 июня 2019

Я новичок в angularjs, и у меня есть вложенный JSON.Мне нужно получить доступ к вложенным массивам и получить данные и распечатать их на панелях.Ответ JSON является динамическим и варьируется.На данный момент я жестко закодировал JSON.

Я использовал пользовательскую директиву для формирования динамических панелей.По мере роста массива растут и панели.

Я должен получить данные в подмассиве.Проблема в том, что я не могу получить оба массива в моем подсписке.Если в sub_list есть более одного scene_sub, последний печатается один.Я хочу, чтобы они оба были напечатаны.

Есть ли способ решить эту проблему?

1 Ответ

1 голос
/ 10 июня 2019

Проблема с вашим JSON, который вы даете, Sub_list хотя и массив, но заключен в один объект в этом массиве.Кроме того, ваш JSON имеет несколько ошибок.Вот действительный JSON, на который вы можете ссылаться,

$scope.itemsList = [
        {
            Scenario_id: '1',
            Scenario_desc: 'Invoice Not Found',
            Scenario_overall_status: 'Positive',
            sub_list: [
                {
                    Scenario_sub: {
                        sub_result_id: 'a',
                        sub_result_msg: 'Invoice #6787898989 was already finalized',
                        sub_result_status: '9'
                    }
                },
                {
                    Scenario_sub: {
                        sub_result_id: 'b',
                        sub_result_msg: 'BP004 is IDLE',
                        sub_result_status: '0'
                    }
                }
            ]
        },
        {
            Scenario_id: '2',
            Scenario_desc: 'Invoice is in scheduled status.',
            Scenario_overall_status: 'Positive',
            sub_list: [
                {
                    Scenario_sub: {
                        sub_result_id: 'a',
                        sub_result_msg: 'Invoice #6787898989 was already finalized',
                        sub_result_status: '9'
                    }
                },
                {
                    Scenario_sub: {
                        sub_result_id: 'b',
                        sub_result_msg: 'BP004 is IDLE',
                        sub_result_status: '0'
                    }
                }
            ]
        },
        {
            Scenario_id: '3',
            Scenario_desc: 'Invoice is in scheduled status.',
            Scenario_overall_status: 'Positive',
            sub_list: [
                {
                    Scenario_sub: {
                        sub_result_id: 'a',
                        sub_result_msg: 'Invoice #6787898989 was already finalized',
                        sub_result_status: '9'
                    }
                },
                {
                    Scenario_sub: {
                        sub_result_id: 'b',
                        sub_result_msg: 'BP004 is IDLE',
                        sub_result_status: '0'
                    }
                }
            ]
        },
        {
            Scenario_id: '4',
            Scenario_desc: 'Invoice is not found in smart',
            Scenario_overall_status: 'Negative',
            sub_list: [
                {
                    Scenario_sub: {
                        sub_result_id: 'a',
                        sub_result_msg: 'Invoice #6787898989 was already finalized',
                        sub_result_status: '9'
                    }
                },
                {
                    Scenario_sub: {
                        sub_result_id: 'b',
                        sub_result_msg: 'BP004 is IDLE',
                        sub_result_status: '0'
                    }
                }
            ]
        }
    ];
}

Кроме того, старайтесь сделать ваш код более читабельным, четко отображая вложенность.

 <div ng-repeat="item in itemsList">
    {{item.Scenario_id}}
    <div ng-repeat="subList in item.sub_list">
       {{subList.Scenario_sub.sub_result_id}}
    </div>
 </div>

вот кодовая ручка для справки: CODEPEN

Надеюсь, это поможет.

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