【问题标题】:Pass data to ngDialog in Angular在Angular中将数据传递给ngDialog
【发布时间】:2016-01-16 11:13:35
【问题描述】:

如何在 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
      });
    })

有什么想法吗?谢谢。

【问题讨论】:

    标签: angularjs ng-dialog


    【解决方案1】:

    您可以使用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;
        }
      });
    

    【讨论】:

    • 不太明白。 {{error}} 仍然没有显示正确的数据。它仍然是空的。抱歉,我还是 Angular 新手。
    • OK..我使用的是伪对象...更新了代码,所以现在应该显示错误
    • 它有效。控制器在解析中使用 error 函数返回传递的参数 error。谢谢。
    • 不需要使用'resolve'选项,您可以简单地将参数'error'分配给ngDialog控制器中的属性'$scope.error'。
    猜你喜欢
    • 2021-08-18
    • 1970-01-01
    • 2016-09-06
    • 1970-01-01
    • 1970-01-01
    • 2020-11-07
    • 2018-10-03
    • 2015-02-08
    • 2019-03-16
    相关资源
    最近更新 更多