Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Angular2模式确认回调_Javascript_Angular_Modal Dialog_Bootstrap Modal - Fatal编程技术网

Javascript Angular2模式确认回调

Javascript Angular2模式确认回调,javascript,angular,modal-dialog,bootstrap-modal,Javascript,Angular,Modal Dialog,Bootstrap Modal,我在Angular 2项目中编程。我有几个组件,我想在其中使用相同的对话框确认。因此,我将确认代码放在一个单独的类中。该对话框用于检查用户是否希望继续或保存数据 我用Angular2模式来表示这个瞳孔 当按下确认按钮上的任一按钮时,我希望能够将此答案返回给调用此确认的组件,以便在那里执行某些操作 我的代码如下所示: 这是我从组件调用的函数: this._popup.confirmSaveTemp(this.modal); 这是带有确认代码的功能。目前,我可以在我放置“待办事项”的两个位置打印“

我在Angular 2项目中编程。我有几个组件,我想在其中使用相同的对话框确认。因此,我将确认代码放在一个单独的类中。该对话框用于检查用户是否希望继续或保存数据

我用Angular2模式来表示这个瞳孔

当按下确认按钮上的任一按钮时,我希望能够将此答案返回给调用此确认的组件,以便在那里执行某些操作

我的代码如下所示:

这是我从组件调用的函数:

this._popup.confirmSaveTemp(this.modal);
这是带有确认代码的功能。目前,我可以在我放置“待办事项”的两个位置打印“确定”或“取消”

confirmSaveTemp(模式、目标、参数){
控制台日志(目标);
modal.confirm()
.size('lg')
.isBlocking(真)
.showClose(假)
.键盘(27)
.title(“警告”)
.身体(`
由于以下一个或多个原因,某些字段已标记为红色:

  • 您忘记填写所有输入字段
  • 输入的值过高或过低,不切实际
  • 使用非法字符(例如,为某个年龄段的人输入字母而不是数字)
请确保您正确填写了表格

如果已完成输入此页面的所有值,并希望永久保存,请单击“继续”。
如果希望在其他时间输入剩余值,请单击“临时保存”

`) .footerClass('defaultPopupFooter') .okBtn('继续') .cancelBtn('临时保存') .okBtnClass('btn btn success') .cancelBtnClass('btn btn warning') .open() .然后((结果预测)=>{ resultPromise.result.then((result)=>{ //TODO-调用保存函数 }, () => { //TODO-保存温度 } ); }); }

*问题:如何告知“父”组件此对话的响应是什么,或者如何从“父”组件调用函数*

您可以从父类将函数作为如下参数传递:

private okCallback() {
    // do stuff on ok
}

private cancelCallback() {
    // do stuff on cancel
}

openModal() {
    // ...
    this._popup.confirmSaveTemp(
        this.modal,
        target,
        param,
        this.okCallback.bind(this),
        this.cancelCallback.bind(this)
    );
}
confirmSaveTemp
中:

confirmSaveTemp(modal, target, param, okCallback, cancelCallback){
    console.log(target);
    modal.confirm()
    // ...
    .open()
    .then( (resultPromise) => {
        resultPromise.result.then( (result) => {
          //TODO - CALL SAVE FUNCTION
        }, 
        () => {
          //TODO - SAVE TEMP
        } );
    })
    // on OK click
    .then(okCallback)
    // on Cancel click
    .catch(cancelCallback);
  }
confirmSaveTemp(modal, target, param, okCallback, cancelCallback){
    console.log(target);
    modal.confirm()
    // ...
    .open()
    .then( (resultPromise) => {
        resultPromise.result.then( (result) => {
          //TODO - CALL SAVE FUNCTION
        }, 
        () => {
          //TODO - SAVE TEMP
        } );
    })
    // on OK click
    .then(okCallback)
    // on Cancel click
    .catch(cancelCallback);
  }