Ошибка разрешения моего динамического json по сравнению с жестко закодированным json в параметрах ng - PullRequest
0 голосов
/ 26 августа 2018

У меня есть список, и я связываю список элементов с контроллера.

$scope.AvailableListItems = [
    [{Id:1,SupplierName: 'john.banks'},
    {Id: 2,SupplierName: 'jim.chevy'}, 
    {Id: 3,SupplierName: 'ralph.stocks'}]
];

Это кодированный json.Когда я пытаюсь сделать это с приведенным ниже html, он работает абсолютно нормально

<select multiple id="availabelist" size="10" style="width:100%" ng-change="OnAvailableChange()" ng-model="SelectedAvailItems" ng-options="i as i.email for i in AvailableListItems[selectFaIndex]| filter:availablequery"></select>

Но, когда я пытаюсь сгенерировать ту же самую вещь динамически, тогда она вообще не работает.Получение пустого списка.Код приведен ниже.

 var getSuppliers = function () {  
            var tempArray = [];
            var lstsuppliers = CRUDService.getApiOutput(getSuppliersApiRoute);
            lstsuppliers.then(
                function (response) {
                    debugger;
                    $scope.supplierList = response.data;
                    for (var i = 0; i < $scope.supplierList.length; i++) {
                        arr = {};
                        arr["Id"] = $scope.supplierList[i].supplierId;
                        arr["SupplierName"] = $scope.supplierList[i].supplierName;
                        tempArray.push(arr);
                    }
                    $scope.AvailableListItems = tempArray;
                    console.log(JSON.stringify($scope.AvailableListItems));
                },
                function (error) {
                    console.log("Error: " + error);
                });
}

Пожалуйста, помогите мне найти проблему в моем коде.

Рабочая ссылка Plunk

Вот как мой ответданные выглядят так: Обновлен на основе глины enter image description here

[{"Id":1,"SupplierName":"ACECO PRECISION MANUFACTURING"},{"Id":2,"SupplierName":"Pentagon EMS Corporation"},{"Id":3,"SupplierName":"QUANTUMCLEAN"},{"Id":4,"SupplierName":"MODERN CERAMICS"},{"Id":5,"SupplierName":"NXEDGE INC"}]

1 Ответ

0 голосов
/ 27 августа 2018

После нескольких часов разрыва, наконец-то нашли решение. Я поместил жестко закодированные и динамические значения вместе в консоль и я нашел разницу ниже. enter image description here

Я модифицировал

$scope.AvailableListItems = tempArray;

до

$scope.AvailableListItems.push(tempArray);

в строке № 14, и это сработало. Вывод такой как после того, как я изменил код enter image description here

Спасибо за @Tomas и @Claies.

...