我有一些地理数据,我想在地图中显示它们。我使用了地图应用,但第一次开发地图和angularjs。我想在地图中显示点击的数据。我有两个名为Data和Map的控制器。我该如何沟通呢。
或者还有另一种简短的方法吗?
答案 0 :(得分:1)
以下是两种可能性:
在同一模块上创建服务/工厂。将其注入两个控制器。将其添加到$ scope
$scope.sharedService = myInjectedservice;
两个控制器。现在,对服务公开的属性所做的任何更改都将对两个控制器可见。
根据您设计控制器层次结构的方式,$ scope。$ emit(事件前往父作用域)或$ scope。$ broadcast(事件向下移动)一个事件并为该事件添加一个监听器接收控制器
$scope.$on("eventName", function(event, params){
//event handler code goes here
});