2015-10-13 137 views
0

我有两个控制器控制器A和控制器B.控制器A有一个对象$ scope.operation = {};这是一个包含细节的json。在另一个控制器中使用控制器的对象angularjs

在控制器BI要比较这JSON对象的细节,然后运行在控制器B。如何的函数来实现this..Thanks

+0

您可以使用$ rootScope或Factory在控制器之间进行通信 –

+0

B的视图嵌套在A的视图中吗?数据来自哪里? –

回答

3

使用工厂/服务来存储operations阵列,每当值ControllerA控制器中的更改将更新服务中的值。

myApp.factory('myService', [function() { 
     var operations = {}; 
     return { 
      getOperations: function() { 
       return operations 
      }, 

      setOperations: function(op) { 
       operations = op; 
      }, 
     } 
    }]) 
    .controller('ControllerA', [function($scope, myService) { 
     $scope.operations = {}; 
     $scope.$watch(function() { 
      return $scope.operations; 
     }, function() { 
      myService.setOperations($scope.operations); 
     }); 
    }]) 
    .controller('ControllerB', [function($scope, myService) { 
     $scope.operations = myService.getOperations(); 
    }]); 
相关问题