使用 modalInstance.result.then() AngularJS执行父控制器方法



一旦按下模态的"确定"按钮,我正在尝试运行一个类方法(在创建我的$uibModal的控制器中(。我的理解是modalInstance从组件返回一个模态对象,这就是我的问题......如何与父控制器而不是组件交互?

例:

modalInstance.result.then(function () {
      // if close() called in component, do this in the parent controller
      this.users.splice(this.users.indexOf(user), 1);    
   }, function () {
      // if dissmised, do this
      console.log('modal-component dismissed at: ' + new Date());
});

这将引发错误:

类型错误:无法读取未定义的属性"用户">

这是一个包含关键项目的 Plunker:https://plnkr.co/edit/ZY3Kr9g3MuT1AxsQKfsj?p=catalogue

AngularJS 1.6,使用 Angular Fullstack Generator 4.2.3

我遵循了以下文档:https://angular-ui.github.io/bootstrap/创建一个模态组件,模态效果很好。但是无论我尝试什么,我都无法拼接我的用户阵列。请帮忙!

可能是因为回调中的this绑定不正确,请尝试使用 => 将其显式绑定到父封闭范围:

modalInstance.result.then(() => {
      // if close() called in component, do this in the parent controller
      this.users.splice(this.users.indexOf(user), 1);    
   }, function () {
      // if dissmised, do this
      console.log('modal-component dismissed at: ' + new Date());
});

相关内容

  • 没有找到相关文章

最新更新