0

コントローラーにいなくても、angularJS の $http ajax 関数を取得することは可能ですか?

現在、データベース操作が必要な工場があります。

var Services = angular.module('App.Services', []);

Services.factory('Data', function () {

    var data;

    return {
        get:function (id) {
            return merchants[id];
        },
        getAll:function () {
            $http({method: 'GET', url: '/api/merchants'}).
                success(function(data, status, headers, config) {
                    console.log(arguments);
                }).
                error(function(data, status, headers, config) {
                    console.log(arguments);
                });
            return data.slice(0);
        },
        add:function (_data) {
            _data.id = data.length;
            data.push(_data);
        },
        save:function (_data) {
            merchants[_data.id] = _data;
        },
        remove:function (_data) {
            delete merchants[_data.id];
        }
    }

});

どうすれば $http を使用できますか??

4

1 に答える 1

1

任意のサービス内で任意のサービスを使用できます。次のように注入するだけです。

Services.factory('Data', function ($http) {

   // use $http
});
于 2013-02-28T13:59:19.367 に答える