我有两个控制器控制器A和控制器B. controller A有一个对象$ scope.operation = {};这是一个包含细节的json。
在控制器B中,我想比较这个json对象的细节,然后在COntroller B中运行一个函数。如何实现这一点。谢谢
答案 0 :(得分: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();
}]);