Angular.js - 从一个控制器传递到另一个控制器并更新它

时间:2016-08-16 08:40:22

标签: angularjs arrays ionic-framework controllers

我试图从控制器传递一个范围数组,然后通过向数组添加一个组来更新它 即时通讯有问题,因为我正在尝试创建一个组列表,当您单击添加按钮时,它将转到新组模板,您可以在其中添加另一个组到该数组

    .controller("GroupsController", function($scope,$stateParams,$state){
        $scope.groups=[];
       $scope.newGroup=function(){
          $state.go("newgroup");
       };
       $scope.groups.push($stateParams.groupname);
        $scope.groupChat = function(group){
         $state.go("chat",{groupname:group,firstname:$stateParams.firstname, lastname:    $stateParams.lastname})
       }
     })

    .controller("NewGroupController",function($scope,$state){
        $scope.createGroup = function(groupname){
            $state.go("groups",{groupname: groupname})
        }
   })

问题是每当它返回到组模板时它会使$ scope.groups再次为空,然后将最新的组添加到数组中,但删除所有其他组

我希望它将新组添加到数组中,但也保留旧组

1 个答案:

答案 0 :(得分:1)

用户服务将数据从一个控制器共享到另一个控制器。 参考: http://blog.thoughtram.io/angular/2015/07/07/service-vs-factory-once-and-for-all.html

您可以在两个控制器中注入此服务。在导航到另一个控制器之前,分配值并发送。

app.service('MyService', function () {
  this.sharingArray=[];
});