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

前端之家收集整理的这篇文章主要介绍了为什么我们在AngularJS中使用$rootScope $broadcast?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
试图找到一些基本信息为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?

> $ rootScope。$ broadcast是什么?

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

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

谢谢!然而,不要做的一件事是从控制器使用$ rootScope。$ on。 $ rootScope是应用程序,当你的控制器被销毁时,事件监听器仍然存在,当你的控制器将被再次创建时,它只会堆积更多的事件监听器。 (所以一个广播将被捕获多次)。使用$ scope。$ on(),而且监听器也会被销毁。
> $ rootScope。$ broadcast& $ rootScope。$ broadcast.apply?

有时你必须使用apply(),特别是在使用指令和其他JS库时。然而,由于我不知道代码库,我不能够告诉是否是这种情况。

猜你在找的Angularjs相关文章