Angularjs 需要使用controllerAs语法调用父状态函数的ui路由器子状态

Angularjs 需要使用controllerAs语法调用父状态函数的ui路由器子状态,angularjs,angular-ui-router,Angularjs,Angular Ui Router,我想知道如何使用ui路由器和controllerAs语法将父状态的函数传递给子状态,以便调用父状态使用的函数 例如,我有一个带有列表的视图,当我单击列表时,它会加载子状态下的详细信息,在更新子状态时,使用父状态上的函数更新/刷新列表 我在这里为它做了一个砰的一声: })) 要获取我遇到的错误:单击Home.users.details。1,单击Save。我希望“保存”按钮调用更新父列表的父函数。如果不在任何地方使用$scope(我正试图避免使用它),我就无法让它工作 我想错了吗?我应该换一种方式

我想知道如何使用ui路由器和controllerAs语法将父状态的函数传递给子状态,以便调用父状态使用的函数

例如,我有一个带有列表的视图,当我单击列表时,它会加载子状态下的详细信息,在更新子状态时,使用父状态上的函数更新/刷新列表

我在这里为它做了一个砰的一声:

}))

要获取我遇到的错误:单击Home.users.details。1,单击Save。我希望“保存”按钮调用更新父列表的父函数。如果不在任何地方使用$scope(我正试图避免使用它),我就无法让它工作

我想错了吗?我应该换一种方式吗


谢谢。

在此上下文中使用$scope可能没问题。如果我没有弄错的话,Parents函数应该存储在$scope.parent中


但是你不应该过度使用它。或者,您也可以创建一个处理这些更新的服务。

在此上下文中使用$scope可能没问题。如果我没有弄错的话,Parents函数应该存储在$scope.parent中


但是你不应该过度使用它。或者,您可以创建一个处理这些更新的服务。

选择使用$scope(和$scope.$parent),我不确定如何使用服务在两个状态之间共享列表(即,子状态将更新列表,父范围绑定到该列表,并在$digest上更新)?服务将存储列表,并具有更新和获取的功能。在两个控制器中使用DI,您将包括此服务。谢谢,我会这样做的!选择使用$scope(和$scope.$parent),我不确定如何使用服务在两个状态之间共享列表(即,子状态将更新列表,父范围绑定到该列表并在$digest上更新?)?服务将存储列表,并具有更新和获取列表的功能。在两个控制器中使用DI,您将包括此服务。谢谢,我会这样做的!
  .state('home.users', {
url: '/users',
templateUrl: 'users.html',
controller: function() {
  this.users = [
    { id: 1, name: 'User1'},
    { id: 2, name: 'User2'},
    { id: 3, name: 'User3'}];

  this.lastUpdated = new Date();
  this.updateList= function() {
    this.lastUpdated = new Date();
  }
},
controllerAs: 'usersVm' })

.state('home.users.details', {
url: '/:id',
templateUrl: 'usersdetails.html',
controller: function() {
  this.user = { id: 1, name: 'Users1' };
  this.update = function() {
    // update parent scope list here
    // usersVm.updateList();
    // $scope.$parent.usersVm.updateList()
  }
},
controllerAs: 'usersDetailsVm'