我创建了两个指令,比如说 A 和 B:
<A>
<B />
</A>
A是一个transclude。A 和 B 的作用域是从它们的 ng-controllers 继承的。
我想使用事件连接 A 和 B。根据他们都使用 ng-controller 范围,我必须编写如下内容:在 A 的控制器中
$scope.$parent.$broadcast(..)
在 B 的控制器中:
$scope.$on(...)
它工作正常。
但是如果我不想使用 ng-controllers 怎么办?就像我正在开发包含子指令的独立复杂指令(如 A 包含 B)。是否可以说从 A 的范围继承 B 的范围?所以我可以这样做:在A中:
$scope.$broadcast(..)
在 B 中
$scope.$on(..)