javascript - 如何在 AngularJS 中与 Controller 进行通信

标签 javascript angularjs

我有一些地理数据,我想在 map 中显示它们。我使用 map 应用程序,但第一次开发 map 和 AngularJS。我想在 map 中显示点击的数据。我有两个名为 Data 和 Map 的 Controller 。我如何与他们沟通。

或者还有其他捷径吗?

enter image description here

最佳答案

这里有两种可能性:

  1. 在同一模块上创建服务/工厂。将其注入(inject)两个 Controller 中。将其添加到 $scope

    $scope.sharedService = myInjectedservice;
    

    两个 Controller 的。现在,您对服务公开的属性所做的任何更改都将对两个 Controller 可见。

  2. 根据您设计 Controller 层次结构的方式,$scope.$emit(事件向上传播到父范围)或 $scope.$broadcast(事件向下传播)事件并将该事件的监听器添加到接收 Controller

    $scope.$on("eventName", function(event, params){
         //event handler code goes here
    });
    

关于javascript - 如何在 AngularJS 中与 Controller 进行通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24453765/

相关文章:

javascript - 将 HMAC-SHA384 函数从 Java 转换为 JavaScript

javascript - Robot Framework - 通过执行 Javascript 运行关键字 If

javascript - Jquery 在按钮单击功能上将 HTML 更改为 div :selected

javascript - ( HTML5、JQuery)JQuery 忽略输入元素的属性

javascript - 值 =""在 <input ng-mode ..> 中的作用

java - AngularJs - $http.get 请求,响应为 -1 状态代码

全局变量的javascript提升

java - 为什么使用 Yeoman 的生成器而不是 Maven 的原型(prototype)?

angularjs - 将 AngularJs Controller 的 token 传递给 Laravel API

javascript - 如何创建悬停指令