我使用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);
但我无法以任何方式访问它。
我该怎么做?
答案 0 :(得分:2)
找到了怎么做,非常简单,我可以用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;
}
});
}
答案 1 :(得分:0)
在控制器中创建$ scope.myDataFromDialog
并在对话框中使用它
您可以在文档中找到一个示例:
https://github.com/likeastore/ngDialog
$scope.value = true;
ngDialog.open({
template: 'externalTemplate.html',
className: 'ngdialog-theme-plain',
scope: $scope
});
<script type="text/ng-template" id="externalTemplate.html">
<p>External scope: <code>{{value}}</code></p>
</script>