sweetalert_1.default 不是函数:Angular 5

dEs*_*ZER 1 frontend sweetalert angular sweetalert2 angular5

我要在官方链接中发现 SweetAlert ,所以我想在我的应用程序 angular5 中使用它。

我是这样安装的:

npm install sweetalert --save
Run Code Online (Sandbox Code Playgroud)

我已将它导入到我的组件中:edit-client.component 与此:

  import swal from 'sweetalert';
Run Code Online (Sandbox Code Playgroud)

这是我尝试使用的文件 editClient.component.ts :

import swal from 'sweetalert';

Component({
  selector: 'app-edit-clients',
  templateUrl: './edit-clients.component.html',
  styleUrls: ['./edit-clients.component.scss']
})
export class EditClientsComponent implements OnInit {

EditClient(){
    this.clientService.updateClient(this.client)
      .subscribe(data=>{
        console.log(data);

        swal('mise a jour effecture !');

        this.router.navigate([ '../../../list' ], { relativeTo: this.activatedRoute });
        },err=>{
        console.log(err);
        alert("Probleme");
      })
  }


}
Run Code Online (Sandbox Code Playgroud)

但是在运行这个例子时,我看不到警报,而是收到一个错误:

RROR TypeError: sweetalert_1.default is not a function
    at SafeSubscriber.eval [as _next] (edit-clients.component.ts:39)
    at SafeSubscriber.__tryOrUnsub (Subscriber.js:240)
    at SafeSubscriber.next (Subscriber.js:187)
    at Subscriber._next (Subscriber.js:128)
    at Subscriber.next (Subscriber.js:92)
Run Code Online (Sandbox Code Playgroud)

我在做什么错?

dEs*_*ZER 5

对于那些面临同样问题的人,我改为导入:

import * as _swal from 'sweetalert';
import { SweetAlert } from 'sweetalert/typings/core';
const swal: SweetAlert = _swal as any;
Run Code Online (Sandbox Code Playgroud)

然后使用:

swal('hello world'); 
Run Code Online (Sandbox Code Playgroud)

这解决了这个问题。