AngularJS Services
- Previous Page AngularJS Filters
- Next Page AngularJS Http
Sa AngularJS, maaari mong lumikha ng sariling serbisyo o gamitin ang isa sa maraming nakalipas na serbisyo.
Ano ang serbisyo?
Sa AngularJS, ang serbisyo ay function o object na maaaring gamitin at limitado lamang sa iyong AngularJS na aplikasyon.
Mayroong humigit-kumulang 30 na nakalipas na serbisyo ang AngularJS. Isa sa mga ito ay $location
Serbisyo.
$location
Ang serbisyo ay may mga paraan na makakapagbibigay ng impormasyon tungkol sa kasalukuyang posisyon ng pahina:
Mga halimbawa
Ginagamit ang $location na serbisyo sa controller:
var app = angular.module('myApp', []); app.controller('customersCtrl', function($scope, $location) { $scope.myUrl = $location.absUrl(); });
Pansin mo na,$location
Ang serbisyo ay ipinapakita bilang argumento sa controller. Upang gamitin ang serbisyo sa controller, dapat itong ipangalan bilang pag-iipon ng kailangan.
Bakit gamitin ang serbisyo?
Para sa maraming serbisyo, tulad ng $location
Serbisyo, mukhang maaari mong gamitin ang mga naka-eksistensyang objekto sa DOM (halimbawa object na window.location),ngunit mayroon ding mga limitasyon, kahit para sa iyong AngularJS na aplikasyon.
Patuloy na pinagmasdan ng AngularJS ang iyong aplikasyon, upang ito ay maayos na hawakan ang mga pagbabago at mga kaganapan, ang AngularJS ay mas pabor sa paggamit ng iyong $location
sa halip ng object na window.location.
$http na serbisyo
Ang halimbawa na ito ay nagpapakita ng
Ang serbisyo ay isa sa pinaka-komun na serbisyo sa AngularJS na aplikasyon. Ang serbisyo ay nagpadala ng kahilingan sa server at pinapapatakbo ng iyong aplikasyon ang tugon.
Mga halimbawa
Ginagamit ang $http na serbisyo upang humingi ng datos mula sa server:
var app = angular.module('myApp', []); app.controller('myCtrl', function($scope, $http) { app.controller('myCtrl', function($scope, $http) {}} $http.get("welcome.htm").then(function (response) { }); });
$scope.myWelcome = response.data; Ang halimbawa na ito ay nagpapakita ng
$http
Ang paggamit ng serbisyo ng $timeout ay napakasimpleng: Maaari mong malaman mas marami tungkol sa serbisyo ng $http sa tutorial ng AngularJS Http.
$timeout
Ang serbisyo ay ang bersyon ng AngularJS ng window.setTimeout
Function.
Mga halimbawa
Ipakita ang bagong mensahe pagkatapos ng dalawang segundo:
var app = angular.module('myApp', []); app.controller('myCtrl', function($scope, $timeout) { $scope.myHeader = "Hello World!"; $timeout(function () { $scope.myHeader = "How are you today?"; }, 2000); });
Ang serbisyo ng $interval
$interval
Ang serbisyo ay ang bersyon ng AngularJS ng window.setInterval
Function.
Mga halimbawa
Ipakita ang oras bawat sandali:
var app = angular.module('myApp', []); app.controller('myCtrl', function($scope, $interval) { $scope.theTime = new Date().toLocaleTimeString(); $interval(function () { $scope.theTime = new Date().toLocaleTimeString(); }, 1000); });
Lumikha ng iyong sariling serbisyo
Para lumikha ng iyong sariling serbisyo, kumuha ng serbisyo at magkakabit sa modulo:
Tumuklas ng pangalanan na hexafy
ng serbisyo:
app.service('hexafy', function() { this.myFunc = function (x) { return x.toString(16); } });
Para gamitin ang iyong sariling serbisyo, idagdag ito bilang depensya sa paglilikha ng controller:
Mga halimbawa
Ginagamit ang sariling serbisyo na pinangalanan hexafy upang i-convert ang numero sa bilang sa labingwalong heksadecimal:
app.controller('myCtrl', function($scope, hexafy) { $scope.hex = hexafy.myFunc(255); });
Custom Service in Filter
Pagkatapos nilikha ang serbisyo at nakasama ito sa iyong application, maaari mong gamitin ang serbisyo sa anumang controller, directive, filter, o kahit sa ibang serbisyo.
Para gamitin ang serbisyo sa filter, idagdag ito bilang isang pag-aaliw kapag tinatawag ang filter:
Ang serbisyo na ginamit ng filter myFormat: hexafy
app.filter('myFormat',['hexafy', function(hexafy) { return function(x) { return hexafy.myFunc(x); }; });
Maaari mong gamitin ang filter na ito kapag ipinapakita ang halaga ng isang bagay o array:
<ul> <li ng-repeat="x in counts">{{x | myFormat}}</li> </ul>
- Previous Page AngularJS Filters
- Next Page AngularJS Http