首頁 >web前端 >js教程 >如何在AngularJS控制器之間有效共享資料?

如何在AngularJS控制器之間有效共享資料?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-12-24 14:32:10244瀏覽

How to Effectively Share Data Between AngularJS Controllers?

如何在 Angular JS 中的控制器之間共享資料?

要在 AngularJS 中的控制器之間共享數據,建議使用服務。以下是實施此解決方案的方法:

建立產品服務:

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

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

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

  return {
    addProduct: addProduct,
    getProducts: getProducts
  };

});

將服務注入控制器:

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

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

透過這些步驟,可以透過productService在ProductController和CartController之間共用資料。 ProductController 將選定的產品新增至服務中,CartController 會擷取它們以更新視圖中的產品清單。

以上是如何在AngularJS控制器之間有效共享資料?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn