2014-09-10 2 views
0

В приложении Chrome Packaged, используя angular.dart, в компоненте html у меня есть нижняя таблица, которая отображает разбитое на страницы содержимое списка объектов; эксп. работы:Угловая привязка данных таблицы не работает

<tbody> 
    <tr id="{{job.jobID}}" ng-repeat="job in jComp.jobs | pagination:jComp.paginator.instance" ng-model="job" ng-click="jComp.selectJob(job.jobID)"> 
    <td>{{job.jobID}}</td> 
    <td> 
     {{job.productID}}<br> 
     {{job.productDescription}}<br> 
    </td> 
    <td>{{job.productType}}</td> 
    <td><img alt="No thumb" ng-src="{{job.thumbFURL}}"/></td> 
    <td>{{job.status}}</td> 
    </tr> 
</tbody> 

то в моем компоненте я показываю всплывающее модальное DIV, чтобы задать пользователю выбрать действие. Когда пользователь нажимает, чтобы изменить job.status, есть второй уровень подтверждения, модальный, и после подтверждения в компоненте я нахожу работу из списка jComp.jobs и обновляю состояние. Со стороны popup modal статус обновляется, но на столе он по-прежнему показывает старый статус. И затем, когда я разбиваю страницы на следующую страницу и возвращаюсь, она обновляется. Перед переходом на страницу он остается прежним? Я попытался вызвать scope.apply() после обновления списка заданий, но это не помогает. Мне нравится знать, что такое paginator.goNext() или paginator.goPrev(), что приводит к обновлению списка таблиц. Неясно, как работает двухсторонняя привязка данных в этом сценарии. (Нумерация страниц осуществляется с помощью пакета angular_pagination)

ответ

0

Я попытался с помощью:

<td ng-bind="job.status"/> 

вместо:

<td>{{job.status}}</td> 

и устранили эту проблему. Я не уверен, почему двойные скобки не регистрировали объект в списке для прослушивателей/наблюдателей изменения. Насколько я понимаю, двусторонняя привязка должна работать с {{}}, но в этом случае что-то ее ломает. Это может быть ошибка в двойных скобках.