在 Angular 中将数据传递给 ngDialog

Pass data to ngDialog in Angular

如何将数据传递给 Angular 中的 ngDialog?大多数示例都使用范围来执行此操作。但我不在我的控制器中使用范围。我应该怎么办?这是我控制器中的代码:

var vm = this;
AuthService.login(user.name,user.password).then(function() {
      $state.go('dashboard');
    },function(error) {
      vm.user.password = '';
      ngDialog.open({
        template: '<h2>Error</h2><p>{{error}}</p>',
        plain: true
      });
    })

有什么想法吗?谢谢

您可以像使用路由器一样使用 resolve 进行操作。然后可以将您在 resolve 中定义的任何属性注入控制器

ngDialog.open({
    template: '<h2>Error</h2><p>{{error}}</p>',
    plain: true,
    resolve:{
       error: function(){
            return error;
        }
    },
    controller: function($scope,error){
        $scope.error = error;
    }
  });