tutorial pengembangan web terbaru
 

AngularJS Jasa


Dalam AngularJS Anda dapat membuat layanan Anda sendiri, atau menggunakan salah satu dari banyak built-in layanan.


Apa Service?

Dalam AngularJS, layanan adalah fungsi, atau objek, yang tersedia untuk, dan terbatas, aplikasi AngularJS Anda.

AngularJS memiliki sekitar 30 built-in layanan. Salah satunya adalah $location layanan.

The $location layanan memiliki metode yang kembali informasi tentang lokasi dari halaman web saat ini:

Contoh

Gunakan $location layanan di controller:

var app = angular.module('myApp', []);
app.controller('customersCtrl', function($scope, $location) {
    $scope.myUrl = $location.absUrl();
});
Cobalah sendiri "

Perhatikan bahwa $location layanan dilewatkan ke controller sebagai argumen. Untuk menggunakan layanan ini di controller, harus didefinisikan sebagai dependensi.


Mengapa menggunakan Layanan?

Untuk berbagai layanan, seperti $location layanan, sepertinya Anda bisa menggunakan benda-benda yang sudah di DOM, seperti window.location objek, dan Anda bisa, tapi itu akan memiliki beberapa keterbatasan, setidaknya untuk aplikasi AngularJS Anda.

AngularJS terus mengawasi aplikasi Anda, dan untuk itu untuk menangani perubahan dan peristiwa benar, AngularJS lebih suka bahwa Anda menggunakan $location layanan bukan window.location objek.


The $ http Layanan

The $http layanan adalah salah satu layanan yang paling umum digunakan dalam aplikasi AngularJS. Layanan ini membuat permintaan ke server, dan memungkinkan aplikasi Anda menangani respon.

Contoh

Gunakan $http layanan untuk meminta data dari server:

var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope, $http) {
    $http.get("welcome.htm").then(function (response) {
        $scope.myWelcome = response.data;
    });
});
Cobalah sendiri "

Contoh ini menunjukkan penggunaan yang sangat sederhana dari $http layanan. Pelajari lebih lanjut tentang $http layanan di AngularJS Http Tutorial .


The $ batas waktu Layanan

The $timeout layanan versi AngularJS 'dari window.setTimeout fungsi.

Contoh

Menampilkan 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);
});
Cobalah sendiri "

The $ Interval Layanan

The $interval layanan versi AngularJS 'dari window.setInterval fungsi.

Contoh

Menampilkan 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);
});
Cobalah sendiri "

Buat Layanan Sendiri

Untuk membuat layanan Anda sendiri, menghubungkan layanan Anda ke modul:

Membuat layanan bernama hexafy :

app.service('hexafy', function() {
    this.myFunc = function (x) {
        return x.toString(16);
    }
});

Untuk menggunakan layanan custom made Anda, menambahkannya sebagai ketergantungan ketika mendefinisikan filter:

Contoh

Gunakan layanan custom made bernama hexafy untuk mengkonversi nomor ke nomor heksadesimal:

app.controller('myCtrl', function($scope, hexafy ) {
    $scope.hex = hexafy .myFunc(255);
});
Cobalah sendiri "

Gunakan Layanan Kustom Di dalam Filter

Setelah Anda membuat sebuah layanan, dan terhubung ke aplikasi Anda, Anda dapat menggunakan layanan ini di setiap controller, direktif, filter, atau bahkan di dalam layanan lainnya.

Untuk menggunakan layanan ini dalam filter, menambahkannya sebagai ketergantungan ketika mendefinisikan filter:

Layanan hexafy digunakan dalam filter myFormat :

app.filter('myFormat',[ 'hexafy' , function( hexafy ) {
    return function(x) {
        return hexafy .myFunc(x);
    };
}]);
Cobalah sendiri "

Anda dapat menggunakan filter saat menampilkan nilai dari suatu objek, atau array:

Membuat layanan bernama hexafy :

<ul>
<li ng-repeat="x in counts">{{x | myFormat}}</li>
</ul>
Cobalah sendiri "