Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.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 - Fatal编程技术网

如何创建服务/工厂angularjs

如何创建服务/工厂angularjs,angularjs,Angularjs,我有这个电话。我想在控制器使用REST服务之前操作它返回的数据。如何做到这一点?现在我得到了原始数据。我知道我只能使用这个逻辑ApiFactory.get(函数(数据));但是我更喜欢把逻辑放在服务器上。我该怎么做 在职: app.factory('ApiFactory', ['$resource', function($resource) { return $resource('http://localhost:8080/rest/forum/categories/1'); }]); 在

我有这个电话。我想在控制器使用REST服务之前操作它返回的数据。如何做到这一点?现在我得到了原始数据。我知道我只能使用这个逻辑ApiFactory.get(函数(数据));但是我更喜欢把逻辑放在服务器上。我该怎么做

在职:

app.factory('ApiFactory', ['$resource', function($resource) {
  return $resource('http://localhost:8080/rest/forum/categories/1');
}]);
在控制器中:

app.controller('SubjectCntrl', ['$scope', 'categoryService', 'ApiFactory', function($scope, categoryService, ApiFactory) {
    ApiFactory.get(function(data) {
        console.log(data);
    });
}]);

您可以创建另一个工厂,根据需要解析数据。诸如此类:

app.factory('ApiFactory', ['$resource', function($resource) {
    return $resource('http://localhost:8080/rest/forum/categories/1');
}]);

app.factory('ApiParser', ['ApiFactory', function(ApiFactory) {
    return {
        get: function() {
            var data = ApiFactory.get(function(d) {
                /* do whatever you need to do with the data */
                return parsedData;
            });
            return data;
        }
    }
}]);

app.controller('SubjectCntrl', ['$scope', 'categoryService', 'ApiParser', function($scope, categoryService, ApiParser) {
    $scope.parsedData = ApiParser.get();
}]);

您可能正在寻找
$locationProvider
的解析。