在AngularJs中 ,服务是一个函数或对象,可以在你的AngularJs 应用中使用
服务是注册在模块下的
实例1:
<div ng-app="myApp" ng-controller="myCtrl"> <p> 数字:{{number}} </p> <p> 十六进制:<b>{{number2}}</b> </p> <p> 十六进制2:<b>{{number|myFormat}}</b> </p> </div> <script> //在AngularJs中 ,服务是一个函数或对象,可以在你的AngularJs 应用中使用 //在控制器、在过滤器等中都可以使用 //AngularJS 内建了30 多个服务。 //创建自定义服务 var app = angular.module('myApp',[]); app.service('hexfay',function () { this.getHex = function (x) { return x.toString(16); } }); //要是使用定义的服务,需要再定义控制器的时候独立添加 app.value('number',10); app.controller('myCtrl',function ($scope,number,hexfay) { $scope.number = number; $scope.number2 = hexfay.getHex($scope.number); }); //在过滤器中使用服务 app.filter('myFormat',function (hexfay) { return function (input) { return hexfay.getHex(input); } }); </script>
实例2:
<div ng-app="myApp" ng-controller="myCtrl"> <p>数字:{{number}}</p> <p>结果:<b>{{number2}}</b></p> </div> <script> //创建自定义服务1 var app = angular.module('myApp',[]); app.service('addition',function () { this.add = function (x) { return x + 10; } }); //创建自定义服务2,调用服务1 app.service('multipli',function (addition) { this.getMulti = function (x) { x = addition.add(x); return x * 10; } }); //要是使用定义的服务,需要再定义控制器的时候独立添加 app.value('number',10); app.controller('myCtrl',multipli) { $scope.number = number; $scope.number2 = multipli.getMulti($scope.number); }); </script>