2015-10-15 1 views
3

У меня есть директива с областью выделения, отображаемой внутри шаблона внешней директивы.Связь с экземпляром директивы в AngularJS

Я хочу отправить уведомление для дочерней директивы, чтобы оно отменило таймер. Как я могу сделать это идиоматично?

Будет ли scope.$broadcast сделать это для меня, даже если область ребенка изолирована?

ответ

2

Из документации сферы $ вещания:.

Отправляет имя события вниз для всех дочерних областей (и их детей), уведомив зарегистрированные слушатель $ rootScope.Scope.

Так что это отлично работает в вашем случае. Обратите внимание, что, несмотря на то, что он изолирован, объем внутренней директивы остается ребенок объем внешнего. Изолированный просто означает, что эта область не наследуется прототипно, однако ее $parent указывает на реальную родительскую область. поэтому в этом случае будет работать широковещательная передача.

Вот небольшой пример я создал, чтобы проверить это:

Демо:http://plnkr.co/edit/OoUqgV8oRofakXVf2OZv?p=preview

Смежные вопросы