ホームページ >ウェブフロントエンド >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();
});

これらの手順により、ProductController と CartController の間でデータを共有できます。製品サービス。 ProductController は選択された製品をサービスに追加し、CartController はそれらを取得してビュー内の製品リストを更新します。

以上がAngularJS コントローラー間でデータを効果的に共有するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。