AngularJS的新手,并试图弄清楚如何在控制器之间推送一组对象数据(而不是输入字符串)。目前,我的代码将数据推送到一个控制器(' ChooseTabCtrl')但我想推送到另一个控制器(' ListTabCtrl'),以便列表显示在另一个页面上。我很困惑b / c大多数例子只在用户输入一串文字时显示。我的项目通过单击按钮添加了一个最爱。任何帮助将不胜感激。
答案 0 :(得分:1)
您可以为此创建服务。像:
.service('FavoritesService', function(){
var favorites = [];
this.getFavorites = function(){
return favorites;
};
this.setFavorite = function(favorite){
favorites.push(favorite);
};
});
设置您的收藏夹:
...
if (!$scope.myFaveItems.some(isAlreadyPresent)) {
$scope.myFaveItems.unshift(item);
FavoritesService.setFavorite(item);
}
...
在ListCtrl中使用它:
.controller('ListTabCtrl', function($scope, FavoritesService) {
$scope.myFaveItems = FavoritesService.getFavorites();
});