Rumah >hujung hadapan web >tutorial js >Bagaimana untuk Berkongsi Data Antara Pengawal dalam AngularJS Menggunakan Perkhidmatan?

Bagaimana untuk Berkongsi Data Antara Pengawal dalam AngularJS Menggunakan Perkhidmatan?

Linda Hamilton
Linda Hamiltonasal
2024-12-06 12:58:16301semak imbas

How to Share Data Between Controllers in AngularJS Using a Service?

Pemindahan Data Antara Pengawal dalam AngularJS

Dalam bidang AngularJS, keperluan untuk bertukar-tukar data antara pengawal adalah penting untuk membina aplikasi yang canggih. Mari kita terokai cara untuk mencapai ini menggunakan perkhidmatan.

Dalam senario anda, di mana anda ingin menambahkan produk terpilih pada troli beli-belah, anda boleh memanfaatkan perkhidmatan sebagai perantara.

Mencipta ProductService Kilang

Memulakan kilang servis menggunakan kilang AngularJS fungsi:

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 ke dalam Pengawal

Sertakan ProductService dalam kedua-dua ProductController dan CartController:

app.controller('ProductController', function($scope, productService) {
  $scope.callToAddToProductList = function(currObj){
    productService.addProduct(currObj);
  };
});

app.controller('CartController', function($scope, productService) {
  $scope.products = productService.getProducts();
});

Sekarang, apabila anda mengklik pada produk dalam ProductController anda, hubungi fungsi addProduct productService untuk mengisi productList. CartController akan sentiasa mempunyai akses kepada ProductList terkini yang disimpan dalam perkhidmatan.

Atas ialah kandungan terperinci Bagaimana untuk Berkongsi Data Antara Pengawal dalam AngularJS Menggunakan Perkhidmatan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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