将JSON数据从一个控制器传递到另一个控制器angularJS

时间:2016-09-22 11:35:09

标签: angularjs

我想将数据从一个控制器传递到另一个控制器,我是 在$scope.imagegallerys变量中获取数据,我可以将数据设置为SetJson();

控制器1

function imageGalleryController($scope,$http,myService){
    var urlBase = "http://localhost:8084/Apc/api/";
    $http.get(urlBase + '/gallerylist').
    success(function(Data) {
    $scope.imagegallerys = Data;
    myService.setJson($scope.imagegallerys);
 });    
}

我想获取数据到另一个控制器,但是getJson()没有返回任何值或对象。

控制器2

    function categoryController($scope,myService){
    $scope.myreturn = myService.getJson();
    }

工厂

    function myService(){
      var imagegallerys = null;//the object to hold our data
      return{
      getJson:function(){
      return imagegallerys;
      },
      setJson:function(value){
      imagegallerys = value;
       }
   }

angular.module('Abc')
.controller('categoryController', categoryController)
.controller('imageGalleryController',imageGalleryController)
.factory('myService',myService);`

1 个答案:

答案 0 :(得分:1)

这是你的第一个控制者:

function imageGalleryController($scope,$http,myService,$rootScope){
    var urlBase = "http://localhost:8084/Apc/api/";
    $http.get(urlBase + '/gallerylist').
    success(function(Data) {
    $rootScope.imagegallerys = Data;
    myService.setJson($scope.imagegallerys);
 });    
}

以下是你的第二个控制者:

function categoryController($scope,myService,$rootScope){
    console.log($rootScope.imagegallerys);
    $scope.myreturn = myService.getJson();
    }

我希望这个解决方案对您有所帮助,如果没有,请通知我