>웹 프론트엔드 >JS 튜토리얼 >서비스를 사용하여 AngularJS의 컨트롤러 간에 데이터를 공유하는 방법은 무엇입니까?

서비스를 사용하여 AngularJS의 컨트롤러 간에 데이터를 공유하는 방법은 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-12-06 12:58:16303검색

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

AngularJS의 컨트롤러 간 데이터 전송

AngularJS 영역에서는 정교한 애플리케이션을 구축하려면 컨트롤러 간 데이터 교환이 가장 중요합니다. 서비스를 사용하여 이를 달성하는 방법을 살펴보겠습니다.

선택한 제품을 장바구니에 추가하려는 시나리오에서는 서비스를 중개자로 활용할 수 있습니다.

ProductService 만들기 Factory

AngularJS의 Factory를 이용하여 서비스 Factory를 초기화합니다. 기능:

app.factory('productService', function() {
  var productList = [];

  var addProduct = function(newObj) {
    productList.push(newObj);
  };

  var getProducts = function(){
    return productList;
  };

  return {
    addProduct: addProduct,
    getProducts: getProducts
  };
});

컨트롤러에 서비스 삽입

ProductController와 CartController 모두에 productService를 포함합니다.

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

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

이제 제품을 클릭하면 ProductController에서 productService의 addProduct 함수를 호출하여 productList를 채웁니다. CartController는 항상 서비스에 저장된 최신 productList에 액세스할 수 있습니다.

위 내용은 서비스를 사용하여 AngularJS의 컨트롤러 간에 데이터를 공유하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.