Показать сообщение отдельно
  #6 (permalink)  
Старый 22.07.2017, 05:35
Новичок на форуме
Отправить личное сообщение для OlegROA Посмотреть профиль Найти все сообщения от OlegROA
 
Регистрация: 18.07.2017
Сообщений: 4

Под формой я имел в виду не структуру form, а структуру из html-элементов, которые логически образуют "форму". На данной странице вообще нет <form>.
Т.е., грубо dom-структура основной "формы":
<main-form ng-if=...>Здесь поля "формы" из элементов div/select/input/button</main-form>

При нажатии на одну из кнопок, которая находится внутри <main-form>, здесь же, внутри <main-form>, создается структура:
<subform-create ng-if="mainFormCtrl.formVisible" items="mainFormCtrl.items" close-callback="mainFormCtrl.closeForm(data)">Здесь поля новой "формы", которые работают уже со своим контроллером. Типа:
 <select ng-options="group.id as group.name for group in subFormCtrl.groups" ng-model="subFormCtrl.newData.group_id" class="ng-pristine ng-untouched ng-valid ng-empty" aria-invalid="false">
И кнопка "Сохранить": <input type="submit" value="Сохранить" ng-click="subFormCtrl.createData()"></subform-create>

Так вот, обращение к любому из элементов как в основной "форме", так и в форме <subform-create> всегда выдает ссылку на mainFormCtrl!
Из него, естественно нет доступа к свойствам subFormCtrl.
Т.е., проблем с идентификацией dom-элементов и получением нужного элемента через querySelector НЕТ - есть проблема в получении ссылки на контроллер subFromCtrl!

P.S.
Если включить режим отладки и получить scope для любого из элементов "формы" <subform-create>, то в нем есть поле subFromCtrl со ссылкой на "дочерний" контроллер и есть поле Parent, через которое можно выйти на элемент основной формы с полем mainFormCtrl со ссылкой на основной контроллер.

В общем, судя по всему, внешним кодом никак нельзя получить ссылку на "дочерние" контроллеры - всегда будем получать ссылку на "родительский" контроллер.

Последний раз редактировалось OlegROA, 22.07.2017 в 05:56.
Ответить с цитированием