Angularjs 如何将数据从ngDialog传递回调用方控制器

Angularjs 如何将数据从ngDialog传递回调用方控制器,angularjs,ng-dialog,Angularjs,Ng Dialog,我使用的是AngularJS 1.3和ngDialog 0.5.9 使用类似以下代码打开对话框: function openDialog() { $scope.dataToPassToDialog = myData; var dialog = ngDialog.open({ template: 'template.html', className: 'ngdialog-theme-default', scope: $scope,

我使用的是AngularJS 1.3和ngDialog 0.5.9

使用类似以下代码打开对话框:

function openDialog() {
    $scope.dataToPassToDialog = myData;
    var dialog = ngDialog.open({
        template: 'template.html',
        className: 'ngdialog-theme-default',
        scope: $scope,
    });

    dialog.closePromise.then(function (data) {

    });
}
对话框中有一个小表单,当用户关闭对话框时,我需要将该数据传回。 在对话框控制器中,我使用以下方法关闭它:

ngDialog.close();
我需要将一个数据对象从对话框传递回调用控制器,我在文档中找不到任何东西,我尝试了

ngDialog.close(myDataFromDialog);
但我无法以任何方式访问它


如何操作?

在控制器中创建$scope.myDataFromDialog

function openDialog() {
    $scope.dataToPassToDialog = myData;
    var dialog = ngDialog.open({
        template: 'template.html',
        className: 'ngdialog-theme-default',
        scope: $scope,
    });

    dialog.closePromise.then(function (data) {
        if (data && data.value && /*check if data.value is what you want*/) {
            var dataFromDialog = data.value;
        }
    });
}
并在对话框中使用它

您可以在文档中找到一个示例:


在控制器中创建$scope.myDataFromDialog

function openDialog() {
    $scope.dataToPassToDialog = myData;
    var dialog = ngDialog.open({
        template: 'template.html',
        className: 'ngdialog-theme-default',
        scope: $scope,
    });

    dialog.closePromise.then(function (data) {
        if (data && data.value && /*check if data.value is what you want*/) {
            var dataFromDialog = data.value;
        }
    });
}
并在对话框中使用它

您可以在文档中找到一个示例:


找到了如何做到这一点,这是相当容易的,从ngDialog控制器我可以做到

$scope.closeThisDialog(dataToPassBack);
在页面控制器上

function openDialog() {
    $scope.dataToPassToDialog = myData;
    var dialog = ngDialog.open({
        template: 'template.html',
        className: 'ngdialog-theme-default',
        scope: $scope,
    });

    dialog.closePromise.then(function (data) {
        if (data && data.value && /*check if data.value is what you want*/) {
            var dataFromDialog = data.value;
        }
    });
}

找到了如何做到这一点,这是相当容易的,从ngDialog控制器我可以做到

$scope.closeThisDialog(dataToPassBack);
在页面控制器上

function openDialog() {
    $scope.dataToPassToDialog = myData;
    var dialog = ngDialog.open({
        template: 'template.html',
        className: 'ngdialog-theme-default',
        scope: $scope,
    });

    dialog.closePromise.then(function (data) {
        if (data && data.value && /*check if data.value is what you want*/) {
            var dataFromDialog = data.value;
        }
    });
}

不确定您在第一行中指的是哪个控制器以及如何访问
$scope.myDataFromDialog
,但我找到了答案,谢谢。不确定您在第一行中指的是哪个控制器以及如何访问
$scope.myDataFromDialog
,但我找到了答案,谢谢