【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);
});

 

posted @   peterYong  阅读(341)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示