У меня проблема, когда ng-repeat не обновляет список при изменении массива.AngularJS ng-repeat не обновляется при обновлении массива
Я использую обещание JavaScript вычислить вычисление, чтобы затем вернуть объект, содержащий 2 массива. Эти массивы затем должны отображаться в представлении ниже фрагмента кода.
<button class="btn" data-toggle="modal" data-target="#tableModal" ng-click="vm.compareTables(vm.table)">Some text</button>
<!-- Modal -->
<div class="modal fade" id="tableModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
<h4 class="modal-title" id="myModalLabel">{{ vm.table.title}}</h4>
</div>
<div class="modal-body">
<h4>You got</h4>
<p ng-repeat="g in vm.got">{{ g }}</p>
<h4>You dont:</h4>
<p ng-repeat="d in vm.dont">{{ d }}</p>
</div>
</div>
</div>
</div>
В контроллере я оберточную функцию в обещание, и он возвращает правильный ответ с 2 заполненных массивов. Я также могу распечатать результат в контроллере, ng-repeat просто не обновляет представление.
var vm = this;
vm.compareTables = function (table) {
getData().then(function succesCallback(response) {
vm.ing = response.data;
var r = table;
var promise = pro(r, vm.ing);
promise.then(function (data) {
console.log(data.got);
console.log(data);
vm.got = data.got;
vm.dont = data.dont;
});
});
}
Вышеуказанное обещание возвращает правильный результат.
Я использую угловой 1.6.1, если это помогает. Контроллер и представление подключены к компоненту, который работает нормально.
UPDATE
Вот выход консоли для посыла возврата
у вас ** консоль ** данные? вы получаете данные? –
@AvneshShakya Да, я добавил изображение консольного вывода. Невозможно показать данные, но размер массива. – McBoman
Что такое функция 'pro'? – tasseKATT