AngularJS 服務(Service)

AngularJS 中的服務是一個函數或對象,在AngularJS 中你能夠建立本身的服務,或使用內建服務。javascript

$location 服務,它能夠返回當前頁面的 URL 地址。html

示例:java

代碼:web

<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 中定義。服務器

 

爲什麼要使用服務呢?app

$http 是 AngularJS 應用中最經常使用的服務。服務向服務器發送請求,應用響應服務器傳送過來的數據。AngularJS 會一直監控應用,處理事件變化, AngularJS 使用 $location 服務比使用 window.location 對象更好。ide

 

$http 是 AngularJS 應用中最經常使用的服務。 服務向服務器發送請求,應用響應服務器傳送過來的數據。函數

例如:使用 $http 服務向服務器請求數據:url

 

 

 

 

 

welcome.htmlspa

 

<!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
相關文章
相關標籤/搜索