При отправке $ Modal (modalInstance) Я обновляю массив в области ($ scope.expenses), вид имеет привязку к объекту, datatable использует «затраты», как данные. Я вижу, что $ scope.expenses обновляется при отладке, а новый элемент вставлен, но в таблице и в {{cost.length}} bind я не вижу обновления. Я прочитал много вопросов об этой проблеме. Вставка выполняется с угловой стороны, поэтому, если я понимаю, применение \ digest не требуется.Связывание области не обновляется после изменения переменной видимости
Я пробовал:
- вызова $ объем $ переваривать \ $ объем $ применяется() после нажатия (Результирующая ошибка, гидролизат уже идет)
- обмотать толчок в функции.. в $ scope. $ apply (function). Те же ошибки, переваривать уже в процессе
- Использования $ таймаута, толчок получит откладывается на следующий дайджест цикла - вид не не получает обновленный
Ни один из приведенных выше вариантов решить эту проблему.
View (я вижу длину до толчка, так что привязка правильно определена в представлении, вот почему я не вставить весь вид):
<div class="row">
<div class="ibox-content col-lg-10 col-lg-offset-1" ng-controller="LiveCtrl">
{{expenses.length}}
<div class="col-md-1" ng-controller="LiveCtrl">
<button class="btn btn-link" ng-click="openAddExpenseModal()">
<span class="glyphicon glyphicon-plus" aria-hidden="true"></span> Add Expense
</button>
</div>
</div>
</div>
код контроллер, где я нажимаю на расходы новый пункт:
modalInstance.result.then(function (newExpense) {
ExpenseService.addExpense(newExpense).then(function (id) {
console.log(id);
$scope.expenses.push(newExpense);
}, function (rejectData) {
console.log(rejectData);
});
}, function (msg) {
console.log('Modal dismissed at: ' + new Date() + 'Message - ' + msg);
});
Мы будем должны видеть больше кода, чтобы выяснить, что случилось. Можете ли вы разместить соответствующий код, где вы используете '{{costs.length}}'? –
Обновленный вопрос, вы можете увидеть весь div, который имеет этот контроллер. Я не думаю, что проблема есть, потому что я вижу привязку, которая просто не обновляется. –
Не могу понять, почему это не должно работать. Я создал скрипку (минус все звонки AJAX), которые, кажется, работают - http://jsfiddle.net/HB7LU/10996/ –