angularjs – 如何以角度扩展$http服务?
发布时间:2020-12-17 10:34:21 所属栏目:安全 来源:网络整理
导读:不幸的是,我们的运行速度为1.2.26(当它被宝石化时会升级到1.2.28). 在此期间,我如何修补(heh)$http以便可以使用短手补丁方法?我对整个服务/工厂/模块的事情都很陌生.我已经做了几个小时的搜索,似乎无法搞清楚. myApp.factory('patchedHTTP',function($http,
不幸的是,我们的运行速度为1.2.26(当它被宝石化时会升级到1.2.28).
在此期间,我如何修补(heh)$http以便可以使用短手补丁方法?我对整个服务/工厂/模块的事情都很陌生.我已经做了几个小时的搜索,似乎无法搞清楚. myApp.factory('patchedHTTP',function($http,BasicService) { // $http['patch'] = function(url,data,config) { // return $http(angular.extend(config || {},{ // method: 'patch',// url: url,// data: data // })); // }; var extended = angular.extend(BasicService,{}); extended.createShortMethodsWithData('patch'); return extended; }); 以上是我得到的最好的……它没有做任何XD
module.decorator已添加到1.4版的模块API中.这就是它在1.2.x中不起作用的原因.
请在下面找到一个工作演示或在jsfiddle. 我花了一段时间来实现补丁方法,因为我错过了返回$http的承诺.但现在它应该工作. angular.module('patchDemo',[]) .config(function ($provide) { $provide.decorator('$http',function ($delegate) { // NOTE: $delegate is the original service $delegate.patch = function(url,config) { var paramsObj = angular.extend({},config || {},{ method: 'PATCH',url: url,data: data }); return $delegate(paramsObj); } return $delegate; }); }) .controller('MainController',MainController); function MainController($http) { console.log($http.patch); //$http({method: 'PATCH',url: 'http://jsonplaceholder.typicode.com/posts/1',data: {title:'foo'}}); //>>>>>working long version of patch $http.patch('http://jsonplaceholder.typicode.com/posts/1',{ title: 'foo' }).then(function(response) { console.log(response); }); } <script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.2.26/angular.js"></script> <div ng-app="patchDemo" ng-controller="MainController"></div> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
- 在vim中更改水平分割状态行的突出显示颜色
- bash – tcpdump返回数据包之前的一秒延迟
- AngularJS 的小demo——表头排序+表格搜索(过滤
- twitter-bootstrap – Twitter Bootstrap – 如何
- bootstrap table单元格样式,行样式以及分页显示
- 泛型 – 在通用方法中避免强制转换为Nothing
- scala – 什么是SBT项目中的“资源”文件夹?
- failed to execute /bin/bash: Resource tempora
- angularjs – Angular:ng-bind-html过滤器点击?
- angularjs – 2.0.0版本无法绑定到’ngIf’,因为
热点阅读