为什么我们在AngularJS中使用$ rootScope$ broadcast?

问题描述

  1. 怎么$rootScope.$broadcast办?

$rootScope.$broadcast正在通过应用程序范围发送事件。该应用程序的任何子级范围都可以使用以下简单方法捕获它:$scope.$on()

当您想要到达不是直接父级的范围(例如,父级的分支)时,发送事件特别有用

!!! 但是, 一件事是$rootScope.$on从控制器使用。$rootScope是应用程序,当控制器被销毁时,事件侦听器将仍然存在,而当再次创建控制器时,它将堆积更多的事件侦听器。(因此一次广播将被多次捕获)。$scope.$on()改为使用,监听器也将被销毁。

  1. $rootScope.$broadcast&和有$rootScope.$broadcast.apply什么区别?

有时您必须使用apply(),尤其是在使用指令和其他JS库时。但是,由于我不知道该代码库,因此我无法确定是否是这种情况。

解决方法

试图找到AngularJS的一些基本信息$rootScope.$broadcast,但是AngularJS文档并没有太大帮助。简单地说,我们为什么要使用它?

同样,在约翰·帕帕(John Papa)的Hot Towel模板中,通用模块中有一个自定义函数$broadcast

function $broadcast() {
    return $rootScope.$broadcast.apply($rootScope,arguments);
}

我不明白这是怎么回事。因此,这是几个基本问​​题:

1)怎么$rootScope.$broadcast办?

2)$rootScope.$broadcast和之间有什么区别$rootScope.$broadcast.apply

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...