Как получить доступ к дочерней области в ng-repeat - PullRequest
0 голосов
/ 31 января 2020

HTML:

<div ng-repeat="some repeat clause">
    <my-div></my-div>
</div>

Директива:

.directive('myDiv', function({
   return {
       controller: function($scope) {
           $scope.$on('someEvent', function() {
               console.log('siyou here');
           });
       }
   }
}))

Контроллер:

$rootScope.$broadcast('someEvent'); // cannot trigger 'someEvent' in directive

Вопрос: Как вызвать «someEvent» в директиве от контроллера?

Спасибо!

1 Ответ

0 голосов
/ 31 января 2020

Нет необходимости в $broadcast событиях для таких случаев. Вы можете использовать директиву ng-ref, чтобы передать свойство в директиву и вызвать функцию директивы в любое время:

<my-div ng-ref="refs[index]"> </my-div>

Проверьте также пример из официальной документации:

https://docs.angularjs.org/api/ng/directive/ngRef

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...