Я работаю в приложении angularjs, и на одной странице приложения есть 3 формы.
job. html
<form name="vm.jobForm">
.
.
.
</form>
Аналогично 2 другие формы
шт. html
<form name="vm.itemForm">
.
</form>
труд. html
<form name="vm.laborForm">
.
</form>
И эти формы включены в другое действие html
. html
<!-- templates included -->
<div ng-include="template('/job.html')"></div>
<div ng-include="template('/item.html')"></div>
<div ng-include="template('/labor.html')"></div>
<!-- action buttons -->
<button type="button" ng-if="vm.editable">Approve</button>
<button type="button" ng-if="!vm.editable">Reverse</button>
Изначально поля в все формы доступны для редактирования и значения могут быть введены, и после нажатия кнопки «Утвердить» поля в формах становятся доступными только для чтения, а при нажатии кнопки «Обратный» формы снова становятся редактируемыми.
Перед утверждением форм Я проверяю формы в контроллере
action.controller
if (vm.jobForm.$valid && vm.itemForm.$valid && vm.laborForm.$valid)
{
/* proceed */
}
Теперь проблема в том, что когда я впервые вхожу на страницу, подтверждаю и меняю форму, она работает хорошо, но когда я снова нажимаю «Утвердить», только одна форма показывает undefined в контроллере
if (vm.jobForm.$valid && vm.itemForm.$valid && vm.laborForm.$valid)
(true) (true) (vm.laborForm is undefined)
{
}
Когда я перезагружаю страницу, кнопка «одобрить» работает плавно д, но каждый раз, когда пользователь не может перезагрузить страницу вручную, чтобы снова нажать «Подтвердить».