有大量关于从服务中获取数据并在控制器中使用它的信息,但我已经浏览了互联网,没有找到关于如何执行此操作的示例或解释。如果我有一个基本的控制器:
app.controller('myController', function($scope) {
$scope.myObject = [
{
x = 1;
y = 2;
},
{
x = 3;
y = 4;
}]
});
我想编写一个服务,从控制器获取对象“myObject”,更改对象,然后将其发送回控制器。我理解如何编写服务并将信息提供给控制器,但服务如何访问对象“myObject”?
答案 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("");
};
})