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

AngularJS中模块之间的通信

岳志义
2023-03-14
问题内容

我想可能有许多角度模块连接到一个shellpage中的不同区域。但是AngularJS中的模块可以彼此“交谈”吗?如果是,怎么办?


问题答案:

模块可以通过多种方式进行交互或共享信息

  1. 可以将一个模块注入另一个模块,在这种情况下,容器模块可以访问已注入模块的所有元素。如果您查看有角的种子项目,则会为指令,控制器,过滤器等创建模块,就像这样

angular.module(“ myApp”,[“ myApp.filters”,“ myApp.services”,“
myApp.directives”,“ myApp.controllers”])这更多是一种可重用性机制,而不是通信机制。

  1. 第二个选项是@Eduard解释的,那就是使用服务。由于服务是单例的并且可以注入到任何控制器中,因此它们可以充当通信机制。

  2. 正如@Eduard再次指出的那样,第三个选项是使用带有$ scope对象的父控制器,因为它对所有子控制器均可用。

  3. 您还可以将$ rootScope注入需要交互的控制器中,并使用$ broadcast和$ on方法创建服务总线模式,其中控制器使用pub \ sub机制进行交互。

我倾向于第四选择。也可以在此处查看更多详细信息。AngularJS中的控制器之间进行通信的正确方法是什么?



 类似资料:
  • 问题内容: 假设我有一个要注入到config中的模块: 有两个子模块: 这是第一个: 第二个是相同的,以简化示例: 您会注意到,您可以将它们作为提供者来访问以配置选项: 如果我们在控制器中,则可以覆盖每个范围,例如: 但是,如果他们总是共享相同的财产怎么办?如何在提供商之间共享某些东西? 我可以同时为和注入和配置共享属性吗? 如何同时访问和作为单个模块的扩展? 问题答案: 将模块插入两个共享这些属

  • 问题内容: 我正在写一个创建mp3 /音频播放器的指令。问题是一页中可以有许多音频播放器。我想做的是当一个正在播放而您又开始播放另一个音乐时,当前正在播放的音乐会暂停。如何使用角度指令实现这一目标? 提前致谢! 问题答案: 您也可以执行$ rootScope。$ broadcast 事件,例如。所有指令都可以预订此事件,并且它们可以通过停止自身来对此事件做出反应。您需要做的一件事就是传递有关正在启

  • 问题内容: 我是Angular.js的新手,我的应用程序需要指令之间的某些通信,我阅读了一些有关链接和需求的文档,但无法确切了解其工作原理。 对于一个简单的示例,我有:live小提琴:http : //jsfiddle.net/yw235n98/5/ 2个指令:firstDir,secondDir ::带有一些数据 firstDir具有单击功能,它将更改数据值 当firsDir单击功能被触发时,我

  • 问题内容: 我正在将AngularJS与c#mvc一起使用。我有一个主页,用户可以在其中输入一些数据,并将其传递给第二个模块,在该模块中,我将使用这些数据进行处理和决策。我必须使用第二个模块中第一个模块中输入或更新的数据。有人可以帮我实现这个目标吗? 问题答案: 希望以下实现可以帮助您有所了解。

  • 主要内容:创建模块,添加控制器,AngularJS 实例,添加指令,AngularJS 实例,模块和控制器包含在 JS 文件中,AngularJS 实例,myApp.js,myCtrl.js,函数会影响到全局命名空间,什么时候载入库?,AngularJS 实例模块定义了一个应用程序。 模块是应用程序中不同部分的容器。 模块是应用控制器的容器。 控制器通常属于一个模块。 创建模块 你可以通过 AngularJS 的 angular.module 函数来创建模块: < div ng-app= "my

  • 本文向大家介绍AngularJS 模块,包括了AngularJS 模块的使用技巧和注意事项,需要的朋友参考一下 示例 模块充当应用程序不同部分(例如控制器,服务,过滤器,指令等)的容器。其他模块可以通过Angular的依赖项注入机制来引用模块。 创建一个模块: []上例中传递的数组是依赖的模块列表 app,如果没有依赖关系,则传递Empty Array ie []。 注入一个模块作为另一个模块的依