Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
AngularJS:从服务中的控制器获取数据_Angularjs_Service_Controller - Fatal编程技术网

AngularJS:从服务中的控制器获取数据

AngularJS:从服务中的控制器获取数据,angularjs,service,controller,Angularjs,Service,Controller,有大量关于从服务获取数据并在控制器中使用数据的信息,但我在互联网上搜索,没有找到关于如何执行此操作的示例或解释。如果我有一个基本控制器: app.controller('myController', function($scope) { $scope.myObject = [ { x = 1; y = 2; }, { x = 3; y = 4; }] }); .controller("MyController",f

有大量关于从服务获取数据并在控制器中使用数据的信息,但我在互联网上搜索,没有找到关于如何执行此操作的示例或解释。如果我有一个基本控制器:

app.controller('myController', function($scope) {
  $scope.myObject = [
    {
      x = 1;
      y = 2;
    },
    {
      x = 3;
      y = 4;
  }]
});
.controller("MyController",function($scope, ModifyDataService) {
  $scope.data = "foo";
  $scope.dataModified = null;
  $scope.modifyData = function() {
        $scope.dataModified = ModifyDataService($scope.data);
    }
})

我想写一个服务,从控制器中获取对象“myObject”,修改对象,并将其发送回控制器。我知道如何编写服务并将信息发送给控制器,但服务如何访问对象“myObject”?

如果您的用例只涉及更改对象,那么也许服务方法就是答案

app.controller('myController', function($scope, myService) {
  $scope.myObject = [{
    x = 1;
    y = 2;
  }, {
    x = 3;
    y = 4;
  }];

  /* Option 1, transform object in place. */
  myService.changeObject( $scope.myObject ); 

  /* Option 2, replace object. */
  $scope.myObject = myService.changeObject( $scope.myObject );
});

如果您的用例只涉及修改一个对象,那么也许服务方法就是答案

app.controller('myController', function($scope, myService) {
  $scope.myObject = [{
    x = 1;
    y = 2;
  }, {
    x = 3;
    y = 4;
  }];

  /* Option 1, transform object in place. */
  myService.changeObject( $scope.myObject ); 

  /* Option 2, replace object. */
  $scope.myObject = myService.changeObject( $scope.myObject );
});
你必须:

1) 创建用于修改数据的服务和函数。 3) 将服务注入控制器中。 4) 调用服务的功能

看看我为你写的这个

你有控制器:

app.controller('myController', function($scope) {
  $scope.myObject = [
    {
      x = 1;
      y = 2;
    },
    {
      x = 3;
      y = 4;
  }]
});
.controller("MyController",function($scope, ModifyDataService) {
  $scope.data = "foo";
  $scope.dataModified = null;
  $scope.modifyData = function() {
        $scope.dataModified = ModifyDataService($scope.data);
    }
})
以及修改数据的服务:

.service("ModifyDataService", function() {
    return function(data) {
        /** Reverse String **/
    if(typeof data !== 'string') throw 'Data must be string';
    return Array.from(data).reverse().join("");
  };
})
你必须:

1) 创建用于修改数据的服务和函数。 3) 将服务注入控制器中。 4) 调用服务的功能

看看我为你写的这个

你有控制器:

app.controller('myController', function($scope) {
  $scope.myObject = [
    {
      x = 1;
      y = 2;
    },
    {
      x = 3;
      y = 4;
  }]
});
.controller("MyController",function($scope, ModifyDataService) {
  $scope.data = "foo";
  $scope.dataModified = null;
  $scope.modifyData = function() {
        $scope.dataModified = ModifyDataService($scope.data);
    }
})
以及修改数据的服务:

.service("ModifyDataService", function() {
    return function(data) {
        /** Reverse String **/
    if(typeof data !== 'string') throw 'Data must be string';
    return Array.from(data).reverse().join("");
  };
})