AngularJS:从服务器中获取数据

时间:2017-09-27 16:56:01

标签: angularjs service controller

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

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

我想编写一个服务,从控制器获取对象“myObject”,更改对象,然后将其发送回控制器。我理解如何编写服务并将信息提供给控制器,但服务如何访问对象“myObject”?

2 个答案:

答案 0 :(得分:1)

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

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 :(得分:1)

你必须:

1)创建服务和修改数据的功能。 3)在控制器中注入服务。 4)致电您的服务部门。

查看此example我已经为您写下了。

你有控制器:

.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("");
  };
})