角服务/工厂,$资源 [英] Angular Services/Factories with $resource

查看:109
本文介绍了角服务/工厂,$资源的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是一个Web开发新AngularJS。我一直在读@ toddmotto的角风格指南( https://github.com/toddmotto/angularjs-styleguide)。我目前正在建设一个CRUD应用程序通过一个RESTful API抓住数据。

我有点憋屈服务和/或工厂。

我是有工作previously(code以下),但因为看着托德的风格指南 - 我想我的逻辑从控制器到服务/工厂移动,但我不知道如何得到什么我在新的结构工作过的。

没有任何人有什么想法?

previous UserService.js

 (函数(){
    使用严格的;    功能UserService($资源){
        返回$资源('https://api.path.com/users/:id',{},{
            查询:{
                方法:GET
            },
            创建: {
                方法:POST
            },
            更新:{
                方法:把'
            },
            删除:{
                方法:删除
            }
        });
    }    角
        .module(应用)
        .factory('UserService',UserService);
})();

目前,我有:

UserController.js

 (函数(){
    使用严格的;    功能UserController的(UserService){
        VAR _this =这一点;        UserService
            .getUsers()
            。然后(功能(响应){
                _this.users =响应;
                console.table(响应);
            });
        };
    }    角
        .module(应用)
        .controller('UserController的',UserController的);
})();

UserService.js

 (函数(){
    使用严格的;    功能UserService($资源){
        变种服务= {};        service.getUsers =功能(){
            返回$资源('https://api.path.com/users');
        };        退换货服务;
    }    角
        .module(应用)
        .factory('UserService',UserService);
})();

修改

  VAR资源= $资源(的baseUrl +'/用户/:身份证',{},{
        查询:{
            方法:GET
        },
        创建: {
            方法:POST
        },
        更新:{
            方法:把'
        },
        删除:{
            方法:删除
        }
    });    service.getUsers =功能(){
        返回resource.query()$承诺。
    };


试试这个:

  service.getUsers =功能(){
    返回$资源('https://api.path.com/users').query()$承诺。
};

I'm a Web Developer new to AngularJS. I've been reading @toddmotto's Angular styleguide (https://github.com/toddmotto/angularjs-styleguide). I am currently building a CRUD app grabbing data via a RESTful API.

I'm a bit stuck on services and/or factories.

I had it working previously (code below) but since looking at Todd's styleguide - I would like to move my logic from the controller to the service/factory but I'm not sure how to get what I had before working in the new structure.

Does anybody have any ideas?

Previous UserService.js

(function () {
    'use strict';

    function UserService($resource) {
        return $resource('https://api.path.com/users/:id', { }, {
            query: {
                method: 'GET'
            },
            create: {
                method: 'POST'
            },
            update: {
                method: 'PUT'
            },
            delete: {
                method: 'DELETE'
            }
        });
    }

    angular
        .module('app')
        .factory('UserService', UserService);
})();

Currently, I have:

UserController.js

(function () {
    'use strict';

    function UserController(UserService) {
        var _this = this;

        UserService
            .getUsers()
            .then(function (response) {
                _this.users = response;
                console.table(response);
            });
        };
    }

    angular
        .module('app')
        .controller('UserController', UserController);
})();

UserService.js

(function () {
    'use strict';

    function UserService($resource) {
        var service = {};

        service.getUsers = function () {
            return $resource('https://api.path.com/users');
        };

        return service;
    }

    angular
        .module('app')
        .factory('UserService', UserService);
})();

EDIT

    var resource =  $resource(baseUrl + '/users/:id', { }, {
        query: {
            method: 'GET'
        },
        create: {
            method: 'POST'
        },
        update: {
            method: 'PUT'
        },
        delete: {
            method: 'DELETE'
        }
    });

    service.getUsers = function () {
        return resource.query().$promise;
    };

解决方案

Try this:

service.getUsers = function () {
    return $resource('https://api.path.com/users').query().$promise;
};

这篇关于角服务/工厂,$资源的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆