Мне нужно вызвать некоторые функции контроллера Angular из-за пределов приложения. Я не могу изменить само приложение Angular - для простоты код должен запускаться в консоли браузера (финальная часть будет интегрирована в расширение Chrome).
Я смотрел на другие ответы - но они устарели или просто не работают. AngularJS. Как вызвать функцию контроллера из-за пределов компонента контроллера казалось многообещающим, но не может заставить его работать.
С учетом следующего HTML:
<div data-ng-if="::ctrl.isEntityNotesEnabled"
data-ng-class="{'menu__item--enabled': ctrl.isNotesShown}"
data-ng-click="ctrl.toggleNotesSection()" role="button">
Show
</div>
Я хочу вызвать ctrl.toggleNotesSection () из JavaScript - но вне приложения.
ОБНОВЛЕНИЕ: Я попробовал кое-что:
// this will return undefined, old AngularJS approach
angular.element('ng-controller-selector').scope()
// seems a bit closer to what I want, but "ctrl" isn't exposed, nor toggleNotesSection()
angular.element('ng-controller-selector').injector().get('$rootScope')
// I also tried using the DIV element, without success
angular.element('div selector')