【angularJS】Service服务

AngularJS 中的服务是一个函数或对象。可以创建自己的服务,或使用内建服务。

内置服务

AngularJS 内建了30 多个服务。

1、  $location 服务,它可以返回当前页面的 URL 地址。

var app = angular.module('myApp', []);
app.controller('customersCtrl', function($scope, $location) {
    $scope.myUrl = $location.absUrl();
});

注意 $location 服务是作为一个参数传递到 controller 中。如果要使用它,需要在 controller 中定义。

2、 $http 是 AngularJS 应用中最常用的服务。 服务向服务器发送请求,应用响应服务器传送过来的数据。可直接同外部进行通信。

$http 服务只是简单的封装了浏览器原生的 XMLHttpRequest 对象。

$http.get(url) 是用于读取服务器数据的函数。

$http.get("welcome.htm").then(function (response) {
        $scope.myWelcome = response.data;
    });

3、$timeout 服务对应了 JS window.setTimeout 函数

$timeout(function () {
        $scope.myHeader = "How are you today?";
    }, 2000);

4、 $interval 服务对应了 JS window.setInterval 函数。

 

创建自定义服务

创建名为hexafy 的服务(将一个数字转换为16进制数):

app.service('hexafy', function() {
    this.myFunc = function (x) {
        return x.toString(16);
    }
});

此服务【名字是hexafy】有个函数myFunc(x) 参数是x。

当你创建了自定义服务,并连接到你的应用上后,你可以在控制器,指令,过滤器或其他服务中使用它。

要使用自定义的访问,需要在定义控制器[或其他]的时候独立添加:

app.controller('myCtrl', function($scope, hexafy) {
    $scope.hex = hexafy.myFunc(255);
});

 

原文地址:https://www.cnblogs.com/peterYong/p/10098900.html