AngularJS の領域では、コントローラー間でデータを交換する必要性は、高度なアプリケーションを構築するために最も重要です。サービスを使用してこれを実現する方法を見てみましょう。
選択した製品をショッピング カートに追加するシナリオでは、仲介としてサービスを利用できます。
AngularJS のファクトリーを使用してサービス ファクトリを初期化しますfunction:
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 中国語 Web サイトの他の関連記事を参照してください。