Angularjs   发布时间:2022-04-20  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了angularjs – 是否可以使用角度为$http服务的参数化网址模板大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在为我的RESTful api使用$资源,并喜欢参数化的URL模板,例如’api / clients /:clientId’

这对于CRUD操作非常有用.然而,我的一些api只是报告或只读端点,而不需要完全的RESTful治疗.我觉得使用$资源是太过分了,而是使用$http自定义数据服务.

唯一的缺点是我丢失了参数化的URL模板.我喜欢定义一个像“api / clients /:clientId / orders /:orderId”这样的url,并且通过{ClientId:1,orderId:1}.我意识到我可以动态构建网址,但希望$http支持参数化模板,我还没有找到它.

祝一切顺利

更新7/5

我的搜索中缺少的是“插入”.当我在角度$http搜索“url插值”时,会出现更多信息.简短的答案看起来是“否”$http不支持url插值.然而,有一些相当简单的方法可以实现.

1.使用$interpolate:

$interpolate here的文档

var exp = $interpolate('/api/clients/{{ClientID}}/jobs/{{jobID}}',false,null,truE);
var url = exp({ clientId: 1,jobId: 1 });

2.编写自己的url插值函数

本·奈德(Ben Nadel)在这个确切的主题here上有一个很棒的帖子.

3.从角度资源中窃取功能

在@L_489_14@在Route.prototype上查看setUrlParams.这是相当简单的.

使用$interpolate的示例数据服务

(function () {
    'use Strict';

    var servicEID = 'dataservice.jobsReports';

    angular.module('app').factory(servicEID,['$http','$interpolate',function ($http,$interpolatE) {

        var _urlBase = 'http://localhost:59380/api';
        var _endPoints = {
            getJobsByClient: {
                url: 'Clients/{{ClientID}}/Jobs',useUrlInterpolation: true,interpolateFunc: null
            }
        };

        // Create thE interpolate functions when service is instantiated
        angular.forEach(_endPoints,function (value,key) {
            if (value.useUrlInterpolation) {
                value.interpolateFunc = $interpolate(_urlBase + '/' + value.url,truE);
            }
        });

        return {
            getJobsByClient: function (clientId) {
                var url = _endPoints.getJobsByClient.interpolateFunc({ clientId: clientId });
                return $http.get(url);
            }
        };

    }]);

})();
为了防止这个被“回答”当被答复了

1.使用$interpolate:

$interpolate here的文档

var exp = $interpolate('/api/clients/{{ClientID}}/jobs/{{jobID}}',truE);
            }
        });

        return {
            getJobsByClient: function (clientId) {
                var url = _endPoints.getJobsByClient.interpolateFunc({ clientId: clientId });
                return $http.get(url);
            }
        };

    }]);

})();

大佬总结

以上是大佬教程为你收集整理的angularjs – 是否可以使用角度为$http服务的参数化网址模板全部内容,希望文章能够帮你解决angularjs – 是否可以使用角度为$http服务的参数化网址模板所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。