sweetalert_1.default не является функцией: Angular 5 - PullRequest
0 голосов
/ 11 июня 2018

Я собираюсь открыть SweetAlert по официальной ссылке , поэтому я хотел использовать его в своем приложении angular5.

Я установил его следующим образом:

npm install sweetalert --save

Я импортировал его в свой компонент: edit-client.component с этим:

  import swal from 'sweetalert';

Вот файл 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");
      })
  }


}

Но во время работы этого примера я не вижу предупреждения и вместо этого получаю сообщение об ошибке:

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)

Что я делаю не так?

1 Ответ

0 голосов
/ 11 июня 2018

Для тех, кто столкнулся с той же проблемой, я импортировал вместо:

import * as _swal from 'sweetalert';
import { SweetAlert } from 'sweetalert/typings/core';
const swal: SweetAlert = _swal as any;

И использовал тогда:

swal('hello world'); 

Это решило проблему.

...