Layanan AngularJS
- Hal Sebelumnya Filter AngularJS
- Hal Berikutnya Http AngularJS
Dalam AngularJS, Anda dapat membuat layanan sendiri, atau menggunakan salah satu layanan bawaan yang ada.
Apa itu layanan?
Dalam AngularJS, layanan adalah fungsi atau objek yang dapat digunakan dan hanya untuk aplikasi AngularJS Anda.
AngularJS memiliki sekitar 30 layanan bawaan. Salah satunya adalah $location
layanan.
$location
Layanan memiliki metode yang dapat mengembalikan informasi tentang lokasi halaman saat ini:
Contoh
Menggunakan layanan $location di kontroler:
var app = angular.module('myApp', []); app.controller('customersCtrl', function($scope, $location) { $scope.myUrl = $location.absUrl(); });
Perhatikan bahwa$location
Layanan disampaikan ke kontroler sebagai parameter. Untuk dapat digunakan di kontroler, layanan ini harus didefinisikan sebagai ketergantungan.
Mengapa menggunakan layanan?
Untuk banyak layanan seperti $location
layanan, sepertinya Anda dapat menggunakan objek yang sudah ada di DOM (contoh objek window.location),tetapi akan ada beberapa batasan, setidaknya untuk aplikasi AngularJS Anda.
AngularJS terus memantau aplikasi Anda, untuk memastikan bahwa aplikasi Anda dapat menangani perubahan dan peristiwa dengan benar, AngularJS lebih suka Anda menggunakan $location
layanan ini daripada objek window.location.
Layanan $http
Contoh ini menunjukkan
Layanan ini adalah salah satu layanan paling sering digunakan di aplikasi AngularJS. Layanan ini mengirimkan permintaan ke server dan membiarkan aplikasi Anda menangani tanggapan.
Contoh
Menggunakan layanan $http untuk meminta data dari 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; Contoh ini menunjukkan
$http
Penggunaan yang sangat sederhana layanan $timeout. Untuk mendapatkan informasi lebih lanjut tentang layanan $http di tutorial AngularJS Http.
$timeout
Layanan adalah versi AngularJS dari window.setTimeout
fungsi.
Contoh
Tampilkan pesan baru setelah dua detik:
var app = angular.module('myApp', []); app.controller('myCtrl', function($scope, $timeout) { $scope.myHeader = "Hello World!"; $timeout(function () { $scope.myHeader = "How are you today?"; }, 2000); });
Layanan $interval
$interval
Layanan adalah versi AngularJS dari window.setInterval
fungsi.
Contoh
Tampilkan waktu setiap detik:
var app = angular.module('myApp', []); app.controller('myCtrl', function($scope, $interval) { $scope.theTime = new Date().toLocaleTimeString(); $interval(function () { $scope.theTime = new Date().toLocaleTimeString(); }, 1000); });
Membuat layanan anda sendiri
Untuk membuat layanan yang anda buat sendiri, hubungkan layanan dengan modul:
Membuat layanan dengan nama hexafy
layanan:
app.service('hexafy', function() { this.myFunc = function (x) { return x.toString(16); } });
Untuk menggunakan layanan yang Anda buat sendiri, tambahkan layanan tersebut sebagai kewajiban saat menetapkan kontroler:
Contoh
Menggunakan layanan yang dinamai hexafy untuk mengonversi angka ke bilangan heksadesimal:
app.controller('myCtrl', function($scope, hexafy) { $scope.hex = hexafy.myFunc(255); });
Menggunakan Layanan Khusus dalam Pengecualian
Buat layanan dan kaitkannya ke aplikasi Anda setelah membuat layanan, kemudian Anda dapat menggunakan layanan ini di mana saja dalam kontroler, instruksi, pengecualian, atau bahkan layanan lainnya.
Untuk menggunakan layanan dalam pengecualian, tambahkan sebagai kaitan saat menetapkan pengecualian:
Layanan yang digunakan dalam pengecualian myFormat: hexafy
app.filter('myFormat',['hexafy', function(hexafy) { return function(x) { return hexafy.myFunc(x); }; });
Anda dapat menggunakan pengecualian ini saat menampilkan nilai objek atau array:
<ul> <li ng-repeat="x in counts">{{x | myFormat}}</li> </ul>
- Hal Sebelumnya Filter AngularJS
- Hal Berikutnya Http AngularJS