如何在angularjs中传达控制器

时间:2014-06-27 14:02:50

标签: javascript angularjs

我有一些地理数据,我想在地图中显示它们。我使用了地图应用,但第一次开发地图和angularjs。我想在地图中显示点击的数据。我有两个名为Data和Map的控制器。我该如何沟通呢。

或者还有另一种简短的方法吗?

enter image description here

1 个答案:

答案 0 :(得分:1)

以下是两种可能性:

  1. 在同一模块上创建服务/工厂。将其注入两个控制器。将其添加到$ scope

    $scope.sharedService = myInjectedservice;
    

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

  2. 根据您设计控制器层次结构的方式,$ scope。$ emit(事件前往父作用域)或$ scope。$ broadcast(事件向下移动)一个事件并为该事件添加一个监听器接收控制器

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