angularjs中控制器之间的通信

时间:2015-07-07 22:52:31

标签: angularjs controllers

第一个控制器有一个Id。 第二个控制器有一个函数,它接受id并打开一个模态。

我想将id从第一个控制器传递到第二个控制器,并在第一个控制器中打开第二个控制器的模态。 这些控制器之间没有关系。

我尝试使用$ rootScope.broadcast,但事情没有按预期工作。

如何实现此功能?

修改

第一个控制器:

String b = "";    
for (int x = testArray.length - 1; x > testArray.length/2; x--){
     b+=testArray[x];
}
System.out.println(b);

第二个控制器:

$scope.getId = function(id){
        $scope.id = id;
        $rootScope.$broadcast("info", $scope.id);
    } 

当我从第一个控制器点击$ scope.getId时,我不确定如何调用第二个控制器的模态。 我有点担心在这个阶段使用服务,因为这将涉及到现有设置的大量代码更改。请告知。

1 个答案:

答案 0 :(得分:0)

控制器之间的通信应始终通过服务完成。

对于模态部分,您可以找出自己的逻辑,也可以只使用UI-Boostrap模态。它支持向其投放数据,因此您基本上可以根据您发送的ID在模式中填充异步请求。这是通过给模态赋予其自己的范围来完成的,并且每个模态都有一个解决方案,您可以使用它来确保模态在其范围内具有正确的数据。