Цитата:
|
При нажатии на кнопочку создается 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