0

我已经用我的 Angular 应用程序正确设置了 AlertJS,它对我的​​成功、错误和警报很有用。但是,我设置确认方法的方式无法正常工作。

这是我的 AlertJS 服务的实现

confirm(title: string, message: string, okCallback: () => any, cancelCallback: () => any) {
    alertify.confirm(title, message, (e: any) => {
      if (e.button.text === 'OK') {
        okCallback();
      } else {
        cancelCallback();
      }
    });
  }

  success(message: string) {
    alertify.success(message);
  }

  error(message: string) {
    alertify.error(message);
  }

  warning(message: string) {
    alertify.warning(message);
  }

  message(message: string) {
    alertify.message(message);
  }

  alert(title: string, message: string, movable: boolean) {
    alertify.alert(title, message).set('movable', movable);
  }

在我的组件中,我正在调用 AlertifyJS 的确认方法,如下所示:

this.alertify.confirm('Success!',
                      'Secret questions/answers have been saved!, would you like to setup a new password?',
                      () => {
                              this.isActive = false;
                              this.isCreateNewPassword = true;
                            },
                      () => {
                              this.router.navigate(['/registrations']);
                            });

它没有正确填充标题。相反,它保持默认状态,并将“成功”一词作为我的信息。

当我从实现和调用中删除标题作为参数时,确认按预期工作!

知道如何解决这个问题吗?

4

1 回答 1

2

确认方法的实现应该是这样的

confirm(title: string, message: string, okCallback: () => any, cancelCallback: () => any) {
    alertify.confirm(title, message, () => { okCallback(); }
                , () => { cancelCallback(); });
  }
于 2020-02-25T01:14:18.480 回答