Berkongsi Data Antara Pengawal AngularJS
Mengirim data antara pengawal ialah tugas biasa dalam aplikasi AngularJS. Untuk menangani keperluan ini, anda mempunyai berbilang pilihan, seperti perkhidmatan, siaran dan perkhidmatan $rootScope.
Menggunakan Perkhidmatan
Perkhidmatan menyediakan cara terpusat untuk mengurus menyatakan dan berkongsi data antara berbilang komponen. Untuk mencipta perkhidmatan, panggil kaedah factory() modul aplikasi dan tentukan logik perkhidmatan anda di dalamnya. Sebagai contoh, anda boleh mencipta perkhidmatan produk seperti ini:
app.factory('productService', function() { var productList = []; var addProduct = function(newObj) { productList.push(newObj); }; var getProducts = function(){ return productList; }; return { addProduct: addProduct, getProducts: getProducts }; });
Menyuntik Perkhidmatan dan Perkongsian Data
Dalam kedua-dua ProductCtrl dan CartCtrl anda, suntikan productService sebagai suatu pergantungan. Kemudian, dalam ProductCtrl, tentukan tindakan yang menambahkan produk yang dipilih pada senarai produk dalam perkhidmatan:
app.controller('ProductCtrl', function($scope, productService) { $scope.callToAddToProductList = function(currObj){ productService.addProduct(currObj); }; });
Dalam CartCtrl, dapatkan semula produk daripada perkhidmatan:
app.controller('CartCtrl', function($scope, productService) { $scope.products = productService.getProducts(); });
Ini pendekatan membolehkan anda memastikan pengendalian data berasingan daripada pengawal, menjadikannya lebih mudah untuk mengurus dan menggunakan semula data di bahagian yang berlainan dalam aplikasi anda.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Berkongsi Data dengan Cekap Antara Pengawal AngularJS?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!