javascript - 通过多个 Controller 的服务推送对象数据数组

标签 javascript angularjs ionic-framework

AngularJS 新手,并试图弄清楚如何在 Controller 之间推送对象数据数组(而不是输入字符串)。目前,我的代码将数据推送到一个 Controller (“ChooseTabCtrl”),但我想推送到另一个 Controller (“ListTabCtrl”),以便列表显示在另一页上。我很困惑,因为大多数示例仅在用户输入文本字符串时显示。我的项目通过单击按钮添加了最爱。任何帮助将不胜感激。

最佳答案

您可以为此创建一个服务。喜欢:

.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();
});

关于javascript - 通过多个 Controller 的服务推送对象数据数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36729227/

相关文章:

angularjs - .$inject 可以在 AngularJS 中的服务上使用,还是仅用于 Controller ?

javascript - 在angularjs codemirror中显示json对象

angularjs - 使用 sails.io.js 在 Ionic 应用程序和 sails API 之间建立 Web 套接字连接

javascript - 没有数据时如何设置条件

javascript - 在 Node.js 中包含 javascript 文件,无需 ('..' ) ing

javascript - 使用 react 路由器 react HOC

angularjs - 将变量传递到 ng-repeat 过滤器

html - 无法设置 ionic 按钮栏的高度

html - Ionic 2 在页面组件而不是根组件上定义菜单

javascript - 使用 vueify 和模式模板的主 Modal.vue 文件时,Vueify 模式无法正常工作