AngularJS 服务(Service)
2016-07-22 15:37
483 查看
1、服务概述
在 AngularJS 中,服务是一个函数或对象,可在你的 AngularJS 应用中使用。AngularJS 内建了30 多个服务。
2、location 服务
可以返回当前页面的 URL 地址。
3、http 服务
$http 是 AngularJS 应用中最常用的服务。 服务向服务器发送请求,应用响应服务器传送过来的数据。
4、timeout 服务
AngularJS $timeout 服务对应了 JS window.setTimeout 函数。
两秒后显示信息:
5、interval 服务
AngularJS $interval 服务对应了 JS window.setInterval 函数。
每两秒显示信息:
6、创建自定义服务
创建名为hexafy 的访问:
使用自定义的的服务 hexafy 将一个数字转换为16进制数:
7、过滤器中,使用自定义服务
可以在控制器,指令,过滤器或其他服务中使用自定义服务
在过滤器 myFormat 中使用服务 hexafy:
在对象数组中获取值时你可以使用过滤器:
在 AngularJS 中,服务是一个函数或对象,可在你的 AngularJS 应用中使用。AngularJS 内建了30 多个服务。
2、location 服务
可以返回当前页面的 URL 地址。
<div ng-app="myApp" ng-controller="myCtrl"> <p> 当前页面的url:</p> <h3>{{myUrl}}</h3> </div> <p>该实例使用了内建的 $location 服务获取当前页面的 URL。</p> <script> var app = angular.module('myApp', []); app.controller('myCtrl', function($scope, $location) { $scope.myUrl = $location.absUrl(); }); </script>
3、http 服务
$http 是 AngularJS 应用中最常用的服务。 服务向服务器发送请求,应用响应服务器传送过来的数据。
<div ng-app="myApp" ng-controller="myCtrl"> <p>欢迎信息:</p> <h1>{{myWelcome}}</h1> </div> <p> $http 服务向服务器请求信息,返回的值放入变量 "myWelcome" 中。</p> <script> var app = angular.module('myApp', []); app.controller('myCtrl', function($scope, $http) { $http.get("welcome.htm").then(function (response) { $scope.myWelcome = response.data; }); }); </script>
4、timeout 服务
AngularJS $timeout 服务对应了 JS window.setTimeout 函数。
两秒后显示信息:
<div ng-app="myApp" ng-controller="myCtrl"> <p>两秒后显示信息:</p> <h1>{{myHeader}}</h1> </div> <p>$timeout 访问在规定的毫秒数后执行指定函数。</p> <script> var app = angular.module('myApp', []); app.controller('myCtrl', function($scope, $timeout) { $scope.myHeader = "Hello World!"; $timeout(function () { $scope.myHeader = "How are you today?"; }, 2000); }); </script>
5、interval 服务
AngularJS $interval 服务对应了 JS window.setInterval 函数。
每两秒显示信息:
<div ng-app="myApp" ng-controller="myCtrl"> <p>现在时间是:</p> <h1>{{theTime}}</h1> </div> <p>$interval 访问在指定的周期(以毫秒计)来调用函数或计算表达式。</p> <script> var app = angular.module('myApp', []); app.controller('myCtrl', function($scope, $interval) { $scope.theTime = new Date().toLocaleTimeString(); $interval(function () { $scope.theTime = new Date().toLocaleTimeString(); }, 1000); }); </script>
6、创建自定义服务
创建名为hexafy 的访问:
app.service('hexafy', function() { this.myFunc = function (x) { return x.toString(16); } });
使用自定义的的服务 hexafy 将一个数字转换为16进制数:
app.controller('myCtrl', function($scope, hexafy) { $scope.hex = hexafy.myFunc(255); });
7、过滤器中,使用自定义服务
可以在控制器,指令,过滤器或其他服务中使用自定义服务
在过滤器 myFormat 中使用服务 hexafy:
app.filter('myFormat',['hexify', function(hexify) { return function(x) { return hexify.myFunc(x); }; }]);
在对象数组中获取值时你可以使用过滤器:
<ul> <li ng-repeat="x in counts">{{x | myFormat}}</li> </ul>
相关文章推荐
- 如何在 Ubuntu 和其他 Linux 发行版中启动、停止和重启服务
- Angularjs 跨域请求
- linux
- 安全帐户管理器初始化失败:目录服务无法启动,错误状态 0xc00002e1 lsass.exe
- 将批处理文件注册成服务在系统启动的时候自动调用
- 全球路由DNS服务器
- 用sc删除mysql服务技巧
- Powershell获取系统中所有可停止的服务
- 在同一台机器上运行多个 MySQL 服务
- C语言实现在windows服务中新建进程的方法
- AngularJS基础教程之简单介绍
- jQuery Ajax调用WCF服务详细教程
- 深入剖析哪些服务是Oracle 11g必须开启的
- Oracle监听器服务不能启动的解决方法
- VBS实现查询服务的制造商
- Android编程获取系统隐藏服务实现锁屏的方法
- AngularJS中处理多个promise的方式
- C#检查Windows是否安装了某个服务的方法
- 使用批处理实现启动和停止服务的代码分析(net start&net stop)
- 运行iis提示服务没有及时响应启动或控制请求的解决方法