Показать сообщение отдельно
  #5 (permalink)  
Старый 20.07.2017, 08:46
Аватар для destus
Профессор
Отправить личное сообщение для destus Посмотреть профиль Найти все сообщения от destus
 
Регистрация: 18.05.2011
Сообщений: 1,207

Цитата:
При нажатии на кнопочку создается dom-структура вложенной формы
Вкладывать формы в друг друга нельзя. Не понимаю, что у Вас там за структура?
<form ng-controller='MainFormCtrl'></form>

<form ng-controller='SubFormCtrl'></form>

и вам querySelector всегда возвращает ссылку на первую форму? Тогда querySelectorAll нужно использовать, идти по циклу и получить контроллер каждого из элементов в цикле.

https://plnkr.co/edit/m1VIxbWV0dsskR7mm1Ar?p=preview перейти в консоль, поменять iframe top => plunkerPreviewTarget и выполнить
[].forEach.call(document.querySelectorAll('form'), function(form){
	console.log(angular.element(form).controller())
})

А если эти формы как-то идентифицированы на странице, допустим
<form ng-controller='MainFormCtrl' id='main'></form>
<form ng-controller='SubFormCtrl' id='sub'></form>

то angular.element(document.querySelector("form#main" )).controller() вернет MainFormCtrl, а angular.element(document.querySelector("form#sub") ).controller() вернет SubFormCtrl
Ответить с цитированием