angularJS中广播的主要目的是什么?

时间:2017-03-15 10:57:17

标签: angularjs angularjs-scope angular-broadcast

我看到了广播的一些例子,我发现它只是用于从父控制器向子控制器发送数据,但默认情况下,子控件hava访问父控制器,那么它的具体用途是什么? 请不要带rootcope,如果我们使用rootcope则不需要广播并发出

2 个答案:

答案 0 :(得分:0)

它不仅可以访问数据。在某些情况下,当您必须执行某些操作(在父控制器中)时,根据触发的事件(在子控制器中),您可以使用广播。

答案 1 :(得分:0)

如果您没有使用$rootScope,那么您需要命名用于接收原始$scope.$on()发出的事件的每个$broadcast回调函数,除非您只是有一个接收器。如果你没有命名回调函数,那么只有一个$scope.$on可以工作(最后一个是"创建",因为它会覆盖以前的那些)。

因此,通过为一个发射器配备多个接收器,您可以,例如,同步多个视图。假设您在一个页面中更改用户的变量age(可以在其中进行编辑),另外三个页面需要显示更新的变量 - 您可以$broadcast将其更改为所有3个页面。