路由重定向后丢失范围变量

时间:2013-12-25 18:56:40

标签: javascript angularjs

我正在尝试使用AngularJS构建我的第一个CRUD应用程序。

我为那些CRUD操作制作了一些PHP Web服务,一切都很好。

当我想编辑特定用户(ng-repeat中的对象)时会出现问题。

我想将其从page(listUsers.html)传递给其他page(addUser.html),以便我可以在输入中显示其属性。

我只有一个控制器,我使用路由。

简要示例:

在ListUsers.html中,我有一个按钮,在点击时调用update(),然后将我重定向到AddUser.html:

app1.controller('testController',function($scope,$http){

    $scope.update=function(e){
        $scope.message="testeeee";
        $scope.newStudentt = e;
    };
});

如何将$scope.message传递给AddUser.html ??

1 个答案:

答案 0 :(得分:4)

使用服务来传递信息:

PLUNKER

app.controller('ListCtrl', function($scope, UserService, $location) {
  // Fetch users from the server
  $scope.users = [
    {name: 'Jesse', email: 'jesse@example.com'},
    {name: 'Walter', email: 'ww@example.com'}
  ];

  $scope.update = function(user){
    UserService.setUser(user);
    $location.url('/user/edit');
  };
});

app.controller('EditUserCtrl', function($scope, UserService, $location) {
  $scope.user = UserService.getUser();

  $scope.save = function(){
    // Implement logic for saving to server
    alert('Saved');
  };

});

app.service('UserService', function(){
  var editingUser;
  this.setUser = function(user){
    editingUser = user;
  };

  this.getUser = function(){
    return editingUser;
  }
});