AngularJS服务
在AngularJS中,服务是一个函数或者对象,可以在AngularJS应用中使用;也可以自己创建自定义服务。
浏览器自带api与AngularJS服务的区别
浏览器api | AngularJS服务 | |
目的 | ||
ap | ||
是否在AngularJS应用生命周期中和应用整合 | 否 | 可以获取到应用生命周的每一个阶段,并且和¥watch整合,让AngularJS可以监控应用,处理事件变化,普通的dom对象是不能在Angular应用生命周期和应用整合 |
是否和HTML5 API的无缝整合 | 否 | 是 |
和应用的上下文是否相关 | 否 | 是 |
AngularJS提供了大约30多种的服务,下面简单介绍一些服务。服务的一般用法如下:
var app=angular.module("demo",[]);
app.controller("mycontroller",function($scope,$location){
$scope.myUrl=$location.absUrl();
});
$location服务:允许对当前浏览器位置进行读写操作。
$http服务:服务想服务器发送请求,应用响应服务器返回的数据。如下例子:
var app=angular.module("demo",[]);
app.controller("mycontroller",function($scope,$http){
$http.get("data.json").then(function(resone){
$scope.myWelcome=respone.name;
});
});
$timeout服务:该服务对应JavaScript中的window.setTimeout函数。
$interval服务:对应window.setInterval函数。
$watch服务:持续监听数据上的变化,更新界面。用法如下:
<div ng-app="demo" ng-controller="myController">
<input type="text" ng-model="firstName"></input>
<input type="text" ng-model="lastName"></input>
<h1>{{firstname+" "+lastName}}</h1>
<h2>{{fullName}}</h2>
</div>
<script>
var app=angular.module('demo',[]);
app.controller("myController",function($scope){
$scope.lastName="qiang";
$scope.firstName="li";
$scope.$watch('lastName',function($scope){
$scope.fullName=$scope.lastName+" "+$scope.firstName;
});
$scope.$watch(‘firstName’,function($scope){
$scope.fullName=$scipe.lastName+$scope.firstName;
});
});
</script>
自定义服务:可以创建自定义服务链接到你的模块中;如下例子:
app.service("toString",function(){
this.myFunc=function(x){
return x.toString();
}
});
如果要使用自定义的服务,需要在定义控制器的时候独立添加,设置依赖项
app.controller("demo",function($scope,toString){
$scope.hex=toString.myFunc(244);
});
当你创建自定义服务之后,并链接到你的应用上,你就可以在控制器、指令、过滤器或者是其他服务中使用它了。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具