Rumah > hujung hadapan web > tutorial js > Bagaimanakah Saya Boleh Berkongsi Data dengan Cekap Antara Pengawal AngularJS?

Bagaimanakah Saya Boleh Berkongsi Data dengan Cekap Antara Pengawal AngularJS?

DDD
Lepaskan: 2024-12-07 22:30:16
asal
496 orang telah melayarinya

How Can I Efficiently Share Data Between AngularJS Controllers?

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
  };

});
Salin selepas log masuk

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);
    };
});
Salin selepas log masuk

Dalam CartCtrl, dapatkan semula produk daripada perkhidmatan:

app.controller('CartCtrl', function($scope, productService) {
    $scope.products = productService.getProducts();
});
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan