Heim >Web-Frontend >js-Tutorial >Wie teile ich Daten zwischen Controllern in AngularJS mithilfe eines Dienstes?
Im Bereich von AngularJS ist die Notwendigkeit, Daten zwischen Controllern auszutauschen, für die Erstellung anspruchsvoller Anwendungen von größter Bedeutung. Lassen Sie uns untersuchen, wie Sie dies mithilfe eines Dienstes erreichen können.
In Ihrem Szenario, in dem Sie ausgewählte Produkte zu einem Warenkorb hinzufügen möchten, können Sie einen Dienst als Vermittler nutzen.
Initialisieren Sie eine Service-Factory mit der Factory-Funktion von AngularJS:
app.factory('productService', function() { var productList = []; var addProduct = function(newObj) { productList.push(newObj); }; var getProducts = function(){ return productList; }; return { addProduct: addProduct, getProducts: getProducts }; });
Fügen Sie den productService sowohl in den ProductController als auch in den CartController ein:
app.controller('ProductController', function($scope, productService) { $scope.callToAddToProductList = function(currObj){ productService.addProduct(currObj); }; }); app.controller('CartController', function($scope, productService) { $scope.products = productService.getProducts(); });
Wenn Sie nun auf ein Produkt in Ihrem ProductController klicken, rufen Sie die addProduct-Funktion des productService auf, um die Produktliste zu füllen . Der CartController hat immer Zugriff auf die neueste im Dienst gespeicherte Produktliste.
Das obige ist der detaillierte Inhalt vonWie teile ich Daten zwischen Controllern in AngularJS mithilfe eines Dienstes?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!