我试图从控制器传递一个范围数组,然后通过向数组添加一个组来更新它 即时通讯有问题,因为我正在尝试创建一个组列表,当您单击添加按钮时,它将转到新组模板,您可以在其中添加另一个组到该数组
.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再次为空,然后将最新的组添加到数组中,但删除所有其他组
我希望它将新组添加到数组中,但也保留旧组
答案 0 :(得分:1)
用户服务将数据从一个控制器共享到另一个控制器。 参考: http://blog.thoughtram.io/angular/2015/07/07/service-vs-factory-once-and-for-all.html
您可以在两个控制器中注入此服务。在导航到另一个控制器之前,分配值并发送。
app.service('MyService', function () {
this.sharingArray=[];
});