javascript - 在 angularjs ngDialog.openConfirm 对话框出现在整个函数执行后

标签 javascript angularjs

在 angularjs 中,我想显示删除操作的确认对话框,我的代码如下:

function deleteOperation(){
    var result;        
             ngDialog.openConfirm({
                    template:
                        '<p>Are you sure you want to delete selected conversation(s) ?</p>' +
                        '<div>' +
                          '<button type="button" class="btn btn-default" ng-click="closeThisDialog(0)">No&nbsp;' +
                          '<button type="button" class="btn btn-primary" ng-click="confirm(1)">Yes' +
                        '</button></div>',
                    plain: true,
                    className: 'ngdialog-theme-default'
                }).then(function (value) {
                    result=true;
                }, function (value) {
                    result=false;
                });

            if (result == true) {
                // perform delete operation
 }
}

但是对话框是在整个函数执行完之后才显示的,所以在if条件结果变量得到未定义的值

最佳答案

回调是异步的。因此,您必须像这样在成功回调中执行您的操作:

function deleteOperation(){     
             ngDialog.openConfirm({
                    template:
                        '<p>Are you sure you want to delete selected conversation(s) ?</p>' +
                        '<div>' +
                          '<button type="button" class="btn btn-default" ng-click="closeThisDialog(0)">No&nbsp;' +
                          '<button type="button" class="btn btn-primary" ng-click="confirm(1)">Yes' +
                        '</button></div>',
                    plain: true,
                    className: 'ngdialog-theme-default'
                }).then(function (value) {
                    // perform delete operation
                }, function (value) {
                    //Do something 
                });
    }

关于javascript - 在 angularjs ngDialog.openConfirm 对话框出现在整个函数执行后,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30166836/

相关文章:

javascript - Angularjs - 在选项卡/浏览器关闭时触发 Http Post

javascript - 按两列对 HTML 表格进行排序

javascript - 在 EaselJS 中缓存 SpriteSheets

javascript - 如何设置 toLocaleString 的通用格式?

angularjs - 编译自定义指令

angularjs - 当所需数据丢失时,如何更改 ui-select 上的边框颜色

javascript - 表中编辑的数据应该在图表和其他组件中发生变化

javascript - 使用wiredep在Angular应用程序中添加bower包

javascript - 如何使用java脚本或jquery从php选择项获取值,其中选择项值来自查询mysql

angularjs - 在预检错误中获取 Access-Control-Allow-Headers