Javascript 使用$resource更改angularjs工厂中的变量

Javascript 使用$resource更改angularjs工厂中的变量,javascript,angularjs,angularjs-resource,angularjs-factory,Javascript,Angularjs,Angularjs Resource,Angularjs Factory,在我的AngularJS应用程序中,我想要一个工厂,它有一个方法,可以使用$resource更改工厂中的变量。到目前为止,我编写的代码如下: factories.factory('FooFactory', function ($resource) { var foo = null; return { query: function () { foo = $resource(baseUrl + '/someUrl/:query', {}, {

在我的AngularJS应用程序中,我想要一个工厂,它有一个方法,可以使用$resource更改工厂中的变量。到目前为止,我编写的代码如下:

factories.factory('FooFactory', function ($resource) {
    var foo = null;
    return {
        query: function () {
            foo = $resource(baseUrl + '/someUrl/:query', {}, {
                query: { method: 'GET', isArray: true }
            });
        },
        getFoo: function () {
            return foo;
        }
    }
});
所以当调用
foodfactory.query({query:“someString”})时我希望工厂将foo的值更改为从资源接收到的值

我需要这种行为,因为foo的值是由指令更改的,我需要将其值绑定到控制器范围内的值


然而,上面的代码似乎不起作用。我做错了什么?

您没有调用
资源的任何方法
您只会初始化它。试试这个:

factories.factory('FooFactory', function ($resource) {
    var foo = null;
    return {
        query: function () {
            foo = $resource(baseUrl + '/someUrl/:query', {}, {
                query: { method: 'GET', isArray: true }
            }).query();
        },
        getFoo: function () {
            return foo;
        }
    }
});