Neu bei AngularJS und versuchen herauszufinden, wie man ein Array von Objekten Daten (nicht eingegebene Strings) zwischen den Controllern schieben. Momentan schiebt mein Code Daten in einen Controller ('ChooseTabCtrl'), aber ich möchte zu einem anderen Controller ('ListTabCtrl') wechseln, so dass die Liste auf einer anderen Seite angezeigt wird. Ich bin verwirrt b/c die meisten Beispiele zeigen nur, wenn ein Benutzer eine Zeichenfolge Text eingibt. Mein Projekt fügt einen Favoriten hinzu, indem Sie auf eine Schaltfläche klicken. Jede Hilfe wäre willkommen.Array von Objekten Daten über Service für mehrere Controller schieben angularjs
1
A
Antwort
1
Sie können einen Dienst dafür erstellen. Wie:
.service('FavoritesService', function(){
var favorites = [];
this.getFavorites = function(){
return favorites;
};
this.setFavorite = function(favorite){
favorites.push(favorite);
};
});
Stellen Sie Ihren Favoriten:
...
if (!$scope.myFaveItems.some(isAlreadyPresent)) {
$scope.myFaveItems.unshift(item);
FavoritesService.setFavorite(item);
}
...
Verwenden Sie in Ihrem ListCtrl:
.controller('ListTabCtrl', function($scope, FavoritesService) {
$scope.myFaveItems = FavoritesService.getFavorites();
});
+0
Danke für die Antwort das ist perfekt !! – JBlaze321
Verwandte Themen
- 1. Routing angularjs für mehrere Controller?
- 2. AngularJS - Übergeben Sie ein Array von Objekten an MVC-Controller über $ http
- 3. AngularJS Service-Array-Variable an Controller-Bereich binden
- 4. Probleme mit Daten von Service zu Controller
- 5. AngularJS Service-Update-Controller Variable
- 6. Service-Injektion in Controller AngularJS
- 7. Schieben Sie die Werte in ein Array mit AngularJS
- 8. Übergeben Variable von Controller zu Service angularjs
- 9. AngularJS: passing params von Controller-Service
- 10. Service und Controller in Angularjs
- 11. Kompilieren von Direktiven über Service in angularjs
- 12. AngularJS ordnungsgemäße Aktualisierung von Daten in Controller
- 13. ein verschachteltes Array in ein verschachteltes Array schieben angularjs
- 14. AngularJS beobachten Array von Objekten für die Datenänderung
- 15. Bilder in Array schieben
- 16. Daten in Array schieben - Angular/Ionic
- 17. Mehrere Ansichten, mehrere lösen aber für einen Controller in AngularJS
- 18. Service für mehrere Zähler
- 19. Verbinden von Objekten über mehrere Join-Tabellen
- 20. Senden Array von Objekten von JavaScript zu C# Controller
- 21. Call-Controller-Funktion aus Service in angularjs
- 22. Mehrere Daten in angularjs übergeben
- 23. Download Byte-Array von AngularJs Controller
- 24. AngularJS Service Vars in allen Controller-Vorlagen
- 25. ng-repeat über ein Array von Objekten (mit ng-start)
- 26. Injizieren eines Schein-Service für einen angularjs-Controller-Test
- 27. XPathNodeIterator über ein Array von XPathNavigable-Objekten?
- 28. Min/Max über ein Array von Objekten
- 29. Array von Objekten innerhalb Array von Objekten
- 30. AngularJS - CRUD-Richtlinie/Service/Controller-Muster
Es gibt mehrere Ansätze, aber ich denke, in Ihrem Fall der beste Ansatz wäre um einen Service zu definieren, bei dem Sie Ihre Favoriten beibehalten. So können Sie sie von beiden Controllern verwenden – kabaehr