Форма не определена в области видимости - angularjs - PullRequest
0 голосов
/ 09 июля 2020

Я работаю в приложении 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)
{
}

Когда я перезагружаю страницу, кнопка «одобрить» работает плавно д, но каждый раз, когда пользователь не может перезагрузить страницу вручную, чтобы снова нажать «Подтвердить».

...