web-dev-qa-db-ja.com

Angular 7のSweetAlert

angularプロジェクトで甘いアラートを使用しようとしています。

それが私が甘い警告を使う方法です:

import swal from 'sweetalert';

swal({
    title: "Problem",
    text: "Try again later!",
    icon: "error"
  })

次のエラーが発生します。

Node_modules/sweetalert/typings/sweetalert.d.ts(4,9)のエラー:エラーTS2403:後続の変数宣言は同じ型でなければなりません。変数 'swal'はタイプ 'typeof import( "C:/ Users/user/Desktop/University/Thesis/workspace/web/myProject/project/node_modules/sweetalert/typings/sweetalert")'である必要がありますが、ここではタイプ ' SweetAlert '。

誰でも手伝ってくれる?

3

私は同じ問題を抱えていました、私の解決策はこれでした。

import * as _swal from 'sweetalert';
import { SweetAlert } from 'sweetalert/typings/core';

const swal: SweetAlert = _swal as any;

何らかの理由で「swal」という名前はエラーを表示します。「_ swal」によってエイリアスを変更すると、機能するはずです。

4
Gerardo Cetzal

Angularプロジェクトをコンパイルするための簡単なソリューションは、プロジェクトフォルダーに移動します\ node_modules\sweetalert\typings\sweetalert.d.ts

このファイルでは、行// const swal:SweetAlert;をコメント化するだけです。

最終的なファイルは次のようになります。

import swal, { SweetAlert } from "./core";

declare global {
  // const swal: SweetAlert;
  const sweetAlert: SweetAlert;
}

export default swal;
export as namespace swal;
4

私は今何をしたかわからないが、どうやらそれは、コンパイラーが私にしてほしいと思っていたものであり、私が同じ問題を抱えていたときにそれを機能させた。

「/node_modules/sweetalert/typings/sweetalert.d.ts」ファイルで、行のswalのタイプを置き換えます
"swal:SweetAlert"と "swal:typeof swal"

だから、これ(前):

import swal, { SweetAlert } from "./core";

declare global {
const swal: SweetAlert;
const sweetAlert: SweetAlert;
}

export default swal;
export as namespace swal;

これになる(後):

import swal, { SweetAlert } from "./core";

declare global {
const swal: typeof swal;
const sweetAlert: SweetAlert;
}

export default swal;
export as namespace swal;
0
Sarah

SweetAlert2の場合は、次の行を使用してインポートする必要があります。

import * as Swal from 'sweetalert2';

次に、次のように使用します。

Swal.fire('Hello world!');
0
Saeed Falsafin