Mat*_*erg 14
它不会将其发送到DOM树.它将它发送到作用域树,因此在处理作用域时没有兄弟DOM元素的概念.你可以用$ emit做什么是$将它发送给父母,停止传播,然后广播所有兄弟姐妹将接收的(以及他们的孩子)
Jas*_*aat 10
没有机制可以发送到具有相同父级的范围.通常,您将从根作用域广播,因为您的消息应该是唯一的,大多数作用域都会忽略它们.您可以从父节点广播,该节点应该忽略树及其后代上方的范围,但它仍然会汇集到父节点的所有后代,而不仅仅是您正在查看的范围的兄弟节点.如果您的父母不是广播的范围,您可以随时忽略该消息:
$scope.$parent.$broadcast('MyUniqueEventName', data);
$scope.$on('MyUniqueEventName', function(event, data) {
if ($scope.$parent !== event.targetScope) {
return;
}
// do something with data
});
Run Code Online (Sandbox Code Playgroud)