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