当前位置: 首页 > 面试题库 >

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

丁景山
2023-03-14
问题内容

试图找到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


问题答案:
  1. 怎么$rootScope.$broadcast办?

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

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

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

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

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



 类似资料:
  • 问题内容: 有什么用的,并在Hibernate?因为我在互联网上发现的每个示例都将数据插入到单个表中,并使用两个不同的类来做到这一点。我的观点是,如果我使用单个表,那么我可以在单个类中映射所有列,那么为什么要使用不同的类。如果我们使用两个不同的表,则存在和hibernate关系。 问题答案: Hibernate 1中有两种对象。Value Object2 。实体 价值对象 是不能独立存在的对象。以

  • 我们为什么使用: 而不是: ?

  • 问题内容: 我是一个完整的初学者。 我已阅读了有关解决方案的Google文档。我在互联网上搜索了同样的内容。 但。一切似乎都是技术性的。 据我了解,.Flush有助于在功能出现时立即执行这些功能,而无需将它们捆绑在一起。 我对吗? 如果不是的话,外行人的含义是什么?并请举一个简单的例子。谢谢。 问题答案: 程序员在希望确保在继续之前将先前代码的输出和/或效果写入电子表格时会使用。如果您不这样做,则

  • 问题内容: 有什么用的,并在Hibernate?因为我在互联网上发现的每个示例都是在单个表中插入数据,并使用两个不同的类来完成此操作。我的观点是,如果我使用单个表,那么我可以在单个类中映射所有列,那么为什么要使用不同的类。如果我们使用两个不同的表,则存在和休眠关系。 问题答案: Hibernate 1中有两种类型的对象。Value Object2 。实体 价值对象 是不能独立存在的对象。以为例。如

  • 问题内容: 据我所知,以下两个代码段将达到相同的目的。为什么有块呢? 代码A: 代码B: 问题答案: 如果您未处理的异常被抛出会怎样?(我希望你不会抓到…) 如果从try块内部返回会怎样? 如果catch块引发异常会怎样? 一个代码块确保 无论 您退出该代码块(以几种方式明确地中止整个过程),该代码块都将被执行。这对于确定性清除资源很重要。

  • 问题内容: 为什么我们在Java中使用该方法?(请给出有关内存限制的答案。)这会减少内存使用吗?如果是,那怎么办?这样会减少内存泄漏的影响吗? 问题答案: 除了 不使用克隆外,还实现一个复制构造函数 ,您询问了内存限制。 克隆 的想法是创建克隆对象的精确副本。因此,在最坏的情况下,此后您将使用两倍的内存量。实际上- 少了一点,因为String经常被嵌入并且(通常)不会被克隆。即使由clone方法/