Why I use scope.$parent().$emit() other than scope.$emit() is when the directive use scope:true and there's one more directive use scope:true, and they are placed at same DOM node.
Then scope.$emit() will emit event to the other directive too and can be catch as same as parent scope. But scope.$parent().$emit() will only emit event to parent. Is it good to use scope.$parent().$emit()?
It seems not matter whether other directives can catch the event or not, but I'm not sure about this.So maybe ONLY emit to parent can be good at some case.
Here's a example plunk
"second-directive" event can only be catch by MainCtrl. but "second-directive-two" can be catch by MainCtrl and first directive.