首页 >web前端 >js教程 >如何在AngularJS控制器之间有效共享数据?

如何在AngularJS控制器之间有效共享数据?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-12-24 14:32:10249浏览

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