如何在Angular js中的另一个控制器中访问控制器的数据?

时间:2017-06-06 18:14:54

标签: javascript angularjs

var app = angular.module("myApp",[]);

app.controller("CTRL1", function($scope){
    $scope.data = [{'name':'Prateek'},{'name':'Agarwal'},{'name': 'Ketan'}];
})

app.controller("CTRL2", function($scope){
    $scope.data = [{'name':'Hari'}];
})

我有两个控制器 - CTRL1和CTRL2。如何从另一个控制器访问数据?

1 个答案:

答案 0 :(得分:0)

你可以使用$ emit和$ on函数,这些将在任何控件中发送名为的光谱事件的数据。

<div ng-app="myApp" ng-controller="myCtrl"> 

    <button ng-click="sendData();"></button>

</div>


<script>
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope, $http) {
    function sendData($scope) {
        var arrayData = [1,2,3];
        $scope.$emit('someEvent', arrayData);
    }

});
app.controller('yourCtrl', function($scope, $http) {
    $scope.$on('someEvent', function(event, data) {
        console.log(data); 
    }); 
});
</script>