1
新增AngularJS並試圖找出如何在控制器之間推送對象數據數組(不是輸入字符串)。目前,我的代碼將數據推送到一個控制器('ChooseTabCtrl'),但我想推到另一個控制器('ListTabCtrl'),以便列表顯示在另一個頁面上。我很困惑b/c大多數例子只在用戶輸入一串文本時才顯示。我的項目通過點擊按鈕添加了一個fave。任何幫助,將不勝感激。通過服務爲多個控制器推送對象數據數組angularjs
新增AngularJS並試圖找出如何在控制器之間推送對象數據數組(不是輸入字符串)。目前,我的代碼將數據推送到一個控制器('ChooseTabCtrl'),但我想推到另一個控制器('ListTabCtrl'),以便列表顯示在另一個頁面上。我很困惑b/c大多數例子只在用戶輸入一串文本時才顯示。我的項目通過點擊按鈕添加了一個fave。任何幫助,將不勝感激。通過服務爲多個控制器推送對象數據數組angularjs
您可以爲此創建一項服務。像:
.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();
});
感謝您的答覆,這是完美的! – JBlaze321
有幾種方法,但我在你的情況想最好的辦法是定義一個服務,讓您持久保存您的收藏夾。所以你可以使用它們從兩個控制器 – kabaehr