Ionic framework 如何在控制器AngularJS之间发送数据

Ionic framework 如何在控制器AngularJS之间发送数据,ionic-framework,Ionic Framework,在我的场合,如何在控制器AngularJS之间发送数据? 我想把扫描的二维码的结果发送到things[]中,当然,还要显示出来。 我是AngularJS和JavaScript的初学者,专门为我制作这个程序 App.js: var MKscanner=angular.module('starter',['ionic','ngCordova','ngStorage'])) MKscanner.controller('scanBarCtrl',函数($scope,$cordovaBarcodeSca

在我的场合,如何在控制器AngularJS之间发送数据? 我想把扫描的二维码的结果发送到things[]中,当然,还要显示出来。 我是AngularJS和JavaScript的初学者,专门为我制作这个程序

App.js:

var MKscanner=angular.module('starter',['ionic','ngCordova','ngStorage']))
MKscanner.controller('scanBarCtrl',函数($scope,$cordovaBarcodeScanner){
$scope.input={
MyText:“”
};
$scope.scanBarcode=函数(){
$cordovabercodescanner.scan(
{
前摄像头:错误,
方向:“肖像”
}).然后(函数(结果){
警报(result.text);
},
函数(错误){
警报(“扫描失败:”+错误);
});
};
});
MKscanner.factory('StorageService',函数($localStorage){
$localStorage=$localStorage.$default({
事物:[]
});
var_getAll=函数(){
返回$localStorage.things;
};
var\u add=函数(事物){
$localStorage.things.push(thing);
}
var_remove=函数(对象){
$localStorage.things.splice($localStorage.things.indexOf(thing),1);
}
返回{
getAll:_getAll,
添加:_添加,
删除:_删除
};
});
MKscanner.controller('MainCtrl',函数($scope,StorageService){
$scope.things=StorageService.getAll();
$scope.add=函数(newThing){
StorageService.add(newThing);
};
$scope.remove=函数(对象){
删除(东西);
};
});

添加
{{thing}}

您可以使用$emit和$broadcast在控制器之间共享数据: 这些事件也可用于发送数据,下面给出了一个经典示例。您可以在应用程序中的任何控制器上共享数据

                <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>

var-app=angular.module('myApp',[]);
app.controller('myCtrl',函数($scope,$http){
函数sendData($scope){
var arrayData=[1,2,3];
$scope.$emit('someEvent',arrayData);
}
});
app.controller('yourCtrl',函数($scope,$http){
$scope.$on('someEvent',函数(事件,数据){
控制台日志(数据);
}); 
});