AngularJS雜記8----部分常用service服務案例詳解(持續更新)

aigoV發表於2017-09-05
AngularJS中的服務是一個函式或物件
可以使用DOM中存在的物件
常用service服務案例詳解:

$localtion
返回當前頁面的URL地址;
作為一個引數傳給controller,使用時,需現在controller中定義
<body>
<div ng-app="myApp" ng-controller="myCtrl">
{{myUrl}}
</div>
<script>
var app = angular.module('myApp',[]);
app.controller('myCtrl',function($scope,$location){
$scope.myUrl = $location.absUrl();
});
</script>
</body>


$http
$http向伺服器傳送請求,應用響應伺服器傳過來的資料
<body>
<div ng-app="myApp" ng-controller="myCtrl">
這是請求後返回來的資料:{{wh}}
</div>
<script>
var app = angular.module('myApp',[]);
app.controller("myCtrl",function($scope,$http){
$http.get(wh.html).then(function(respose){
$scope.wh = response.data;
});
});
</script>
</body>


$timeout
定時器,是對window.setTimeout的一個封裝。
它的返回值是一個promise物件,當定義的時間到了以後,該promise物件就會被resolve(消釋),回撥函式就會被執行。
$timeout(fn,[delay],[invokeApply]);
fn:回撥函式,必填。
delay:延遲的時間,若未填,表示等執行緒空下來後執行,如頁面渲染完成以後。
invokeApply:布林值,是否進行髒值檢測,預設為false,若為true,則fn回撥會被包含在$scope.$apply()中執行。
$timeout.cancel([promise])
promise:為$timeout()所建立的promise物件,呼叫cancel後,該promise物件就會被reject。
返回值:若$timeout的回撥尚未執行,則返回true。
例:
var app = angular.module('myApp',[]);
app.controller(myCotrl,function($scope){
$scope.flag = true;
});
app.directive('offOnFlag',fuction($scope){
return{
restrict:"EA",
link:function(){


}


}
});

相關文章