AngularJS 服务(Service)

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

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

示例:

代码:

<div ng-app="app" ng-controller="ctro">
            <p> 当前页面的url:</p>
            <b>{{myUrl}}</b>
            
        </div>
        <script>
            var app = angular.module("app", []);
            app.controller('ctro',function($scope,$location){
                $scope.myUrl=$location.absUrl();
                
                
                
            });
        </script>

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

为何要使用服务呢?

$http 是 AngularJS 应用中最常用的服务。服务向服务器发送请求,应用响应服务器传送过来的数据。AngularJS 会一直监控应用,处理事件变化, AngularJS 使用 $location 服务比使用 window.location 对象更好。

$http 是 AngularJS 应用中最常用的服务。 服务向服务器发送请求,应用响应服务器传送过来的数据。

例如:使用 $http 服务向服务器请求数据:

welcome.html

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body>
        <h2>欢迎来到perfect*的博客园!!!</h2>
    </body>
</html>

Service.html

<div ng-app="my" ng-controller="con">
                <p>欢迎信息:</p>
                <h1>{{Welcome}}</h1>
                
                
            </div>
            
            
            <script>
                var app=angular.module("my",[]);
                app.controller('con',function($scope,$http){
                    
                    
                    $http.get("welcome.html").then(function(response){
                        
                        
                        $scope.Welcome=response.data;
                    });
                });
                
                
            </script>

AngularJS $http 是一个用于读取web服务器上数据的服务。

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

$http 服务向服务器请求信息,返回的值放入变量 "Welcome" 中。

AngularJS 应用通过 ng-app 定义。应用在 <div> 中执行。

ng-controller 指令设置了 controller 对象 名。

函数 customersController 是一个标准的 JavaScript 对象构造器

控制器对象有一个属性: $scope.Welcome

$http.get() 从web服务器上读取静态 html数据

$timeout服务:

AngularJS $timeout 服务对应了 JS window.setTimeout 函数。

<!--$timeout服务-->
            <div ng-app="my" ng-controller="con">
                <p>欢迎信息:</p>
                <h1>{{myHeader}}</h1>
                
                
               </div>
               <script>
                    var app = angular.module('my', []);
           app.controller('con', function($scope, $timeout) {
             $scope.myHeader = "Hello World!";
             $timeout(function () {
             $scope.myHeader = "How are you today?";
             }, 5000);
             });
                
                
            </script>
            

$interval服务

$interval 访问在指定的周期(以毫秒计)来调用函数或计算表达式,AngularJS $interval 服务对应了 JS window.setInterval 函数

示例:精简时钟

<div ng-app="my" ng-controller="con">
                <p>时间:</p>
                <h2>{{theTime1}}</h2>
                <p>日期:</p>
                <h2>{{theTime}}</h2>
                
                
        </div>
        <script>
            
            var app=angular.module("my",[]);
            app.controller("con",function($scope,$interval){
                $scope.theTime=new Date().toLocaleDateString();
                $scope.theTime1=new Date().toLocaleTimeString();
                $interval(function(){
                    
                    $scope.theTime1=new Date().toLocaleTimeString();
                },1000)
                
                
                
            })
        </script>

上面所有示例的代码:

  1 <!DOCTYPE html>
  2 <html > 
  3     <head>
  4         <meta charset="UTF-8">
  5         <title>Service 服务</title>
  6         <script type="text/javascript" src="js/angular.min.js" ></script>
  7     </head>
  8     <body>
  9         <!--<div ng-app="app" ng-controller="ctro">
 10             <p> 当前页面的url:</p>
 11             <b>{{myUrl}}</b>
 12             
 13         </div>
 14         <script>
 15             var app = angular.module("app", []);
 16             app.controller('ctro',function($scope,$location){
 17                 $scope.myUrl=$location.absUrl();
 18                 
 19                 
 20                 
 21             });
 22         </script>-->
 23         
 24         <!--<div ng-app="my" ng-controller="con">
 25                 <p>欢迎信息:</p>
 26                 <h1>{{Welcome}}</h1>
 27                 
 28                 
 29             </div>
 30             
 31             
 32             <script>
 33                 var app=angular.module("my",[]);
 34                 app.controller('con',function($scope,$http){
 35                     
 36                     
 37                     $http.get("welcome.html").then(function(response){
 38                         
 39                         
 40                         $scope.Welcome=response.data;
 41                     });
 42                 });
 43                 
 44                 
 45             </script>-->
 46             
 47             <!--$timeout服务-->
 48             <!--<div ng-app="my" ng-controller="con">
 49                 <p>欢迎信息:</p>
 50                 <h1>{{myHeader}}</h1>
 51                 
 52                 
 53                </div>
 54                <script>
 55                     var app = angular.module('my', []);
 56            app.controller('con', function($scope, $timeout) {
 57              $scope.myHeader = "Hello World!";
 58              $timeout(function () {
 59              $scope.myHeader = "How are you today?";
 60              }, 5000);
 61              });
 62                 
 63                 
 64             </script>-->
 65             
 66         
 67             
 68             
 69             
 70             
 71             
 72             
 73             
 74             
 75             
 76 <!--<div   ng-app="myApp"  ng-controller="myCtrl">
 77 <p> 当前页面的url:</p>
 78 <h3>{{myUrl}}</h3>
 79 </div>
 80 
 81 <p>该实例使用了内建的 $location 服务获取当前页面的 URL。</p>
 82 
 83 <script>
 84  angular.module('myApp', []).controller('myCtrl', function($scope, $location) {
 85     $scope.myUrl = $location.absUrl();
 86 });
 87 </script>s
 88             -->
 89             
 90             
 91             <div ng-app="my" ng-controller="con">
 92                 <p>时间:</p>
 93                 <h2>{{theTime1}}</h2>
 94                 <p>日期:</p>
 95                 <h2>{{theTime}}</h2>
 96                 
 97                 
 98         </div>
 99         <script>
100             
101             var app=angular.module("my",[]);
102             app.controller("con",function($scope,$interval){
103                 $scope.theTime=new Date().toLocaleDateString();
104                 $scope.theTime1=new Date().toLocaleTimeString();
105                 $interval(function(){
106                     
107                     $scope.theTime1=new Date().toLocaleTimeString();
108                 },1000)
109                 
110                 
111                 
112             })
113         </script>
114         
115     </body>
116 </html>
AngularJs服务示例代码.html
原文地址:https://www.cnblogs.com/jiguiyan/p/10632063.html