Почему я использую scope.$parent().$emit()
, кроме scope.$emit()
, это когда директива использует scope:true
, а есть еще одна директива, использующая scope:true
, и они помещаются в один и тот же узел DOM.
Затем scope.$emit()
также отправит событие в другую директиву и может быть перехвачено так же, как и родительская область. Но scope.$parent().$emit()
будет передавать событие только родителю. Хорошо ли использовать scope.$parent().$emit()
?
Кажется, не имеет значения, могут ли другие директивы перехватывать событие или нет, но я не уверен в этом. Так что, возможно, ТОЛЬКО испускание в родительский элемент может быть хорошим в некоторых случаях.
Вот пример: загрузить
Событие "вторая директива" может быть перехвачено только MainCtrl. но «вторая-директива-два» может быть перехвачена с помощью MainCtrl и первой директивы.