从哪里应用REST API请求从角度js调用
即从控制器,模块,服务,工厂.我完全混淆了应该是正确的方式?
您可以使用
resources或构建实现http呼叫的服务.
原文链接:https://www.f2er.com/angularjs/143136.html如果要使用资源,请记住:
>以包含可以找到的angular-resource.js文件here
>在你的模块声明中包含ngResource模块依赖关系,如:angular.module(‘myApp’,[‘ngResource’])
之后,您可以以这种方式声明资源:
function MyController($scope,$resource){ var User = $resource('/user/:userId',{userId:'@id'}); var user = User.get({userId:123},function() { user.abc = true; user.$save(); }); }
或者,如果需要更深层次的粒度,请使用服务
angular.module('myApp') .factory('MyAPIService',function($http){ var apiurl,myData; return { getData: function(){ $http.get(apiurl) .success(function(data,status,config,headers){ myData = data; }) .error(function(){ //handler errors here }); },data: function() { return myData; } }; });
我发现服务是伟大的,因为能够在控制器之间共享数据,所以你可以将它们注入控制器
myapp.controller('MyController',function($scope,MyAPIService){ $scope.data = MyAPIService.data(); // etc. });