角度资源覆盖网址无效

这里的文档说:

url – {string} – action specific url override. 
The url templating is supported just like for the resource-level urls.

我想用这个很好的功能,我试过这个:

angular.module("experience", ['ngResource'])

    .factory('Experience', function ($resource, identity) {

    return $resource("api/experiences/:id", {}, {
        queryAll : {
            method  : 'GET',
            url     : 'api/companies/' + identity.id + '/experiences',
            isArray : true
        }
    });
});

您看到我正在尝试覆盖queryAll方法的url。 但这不起作用,查询仍然会发送url api / experience。 这是真的支持或我做错了吗? 谢谢你的帮助。


我的项目中有一个非常类似的问题。 资源操作中无法覆盖url。 我使用的是Angular 1.2.0,它应该支持自1.1.4以来的功能。 所以我检查了Angular API参考,CHANGELOG,但没有运气。 然后我深入了解源代码并注意到重写url的逻辑不存在。 这是问题的根源。 我更新了Angular到1.2.0,但我忘了更新angular-resource.js到相应的版本。

所以,长话短说: 检查angular-resource.js的版本


我不确定你是否无法访问url覆盖中的identity属性,但你可以尝试如下所示:

return $resource("api/experiences/:id", {}, {
    queryAll : {
        method  : 'GET',
        url     : 'api/companies/:id/experiences',
        params  : { id: identity.id },
        isArray : true
    }
});

id: identity.id告诉角度使用的id属性identity ,(如果存在的话)。

链接地址: http://www.djcxy.com/p/15839.html

上一篇: angular resource overwrite url not working

下一篇: Having a fallback for a transparent background RGBA background in CSS