在 AngularJS 中,服务是一个函数或对象,可在你的 AngularJS 应用中使用;
AngularJS 中你可以创建自己的服务,或使用内建服务;
AngularJS 内建了30 多个服务;
自定义服务
app.service('hexafy', function() { this.myFunc = function (x) { return x.toString(16); } });
var app = angular.module('Demo', []); app.controller('customersCtrl', function($scope, $location) { $scope.myUrl = $location.absUrl(); });
常用内置服务
1、$http:是 AngularJS 中的一个核心服务。服务向服务器发送请求,应用响应服务器传送过来的数据;
var app = angular.module('Demo', []); app.controller('DemoCtrl', function($scope, $http) { $http({ url:'data.json', method:'GET', params:{ 'username':'tan' } }).success(function(data,header,config,status){ //响应成功 }).error(function(data,header,config,status){ //处理响应失败 }); });
2、$location:服务对应了 window.location 函数。
3、$timeout:服务对应了 window.setTimeout 函数。
4、$interval:服务对应了 window.setInterval 函数。
5、$rootScope:它可以作用在 ng-app 指令包含的所有 HTML 元素中。用 rootscope 定义的值,可以在各个 controller 中使用。