Angular重定向到包含数据的其他模板

时间:2014-03-21 20:11:47

标签: angularjs angular-routing

我有两个控制器,如下所示。

   .when('/list_persons', {
      templateUrl: 'views/list_persons.html',
      controller: 'topBarController',
      activetab: 'list_persons'
    })
    .when('/register_person', {
      templateUrl: 'views/register_person.html',
      controller: 'topBarController',
      activetab: 'register_person'
    })

在/ list_persons视图中,我有一个人的表。在表格中,我想创建一个用于编辑人物的图标。当用户点击此图标时,我想重定向到/ register_person视图。我还想在重定向中添加一些数据(要编辑的人)。我怎么能做到这一点?

编辑:tobarController只负责根据您的哪一方突出显示标题中的元素。这些模板上还有其他控制器可以完成主要工作。

1 个答案:

答案 0 :(得分:2)

您可以使用routeParams。只需将要编辑的人员的ID添加到路径中,然后按如下方式更改路线:

 .when('/list_persons/:personId', {
  templateUrl: 'views/list_persons.html',
  controller: 'topBarController',
  activetab: 'list_persons'
})

然后,在topBarController内,您可以注入$routeParams - 包含personId的服务:

[...].controller('topBarController', function($scope, $routeParams){
    $scope.personId = $routeParams.personId;
}

如果您将所有人员存储在服务或其他内容中,则只需通过ID检索要编辑的人员就很容易。