5

まず、私はJavaScriptでOOPに問題がある、と私はこのことについてはほとんど理解して、私は問題を解決する必要があります...まあブートストラップ4のModalをどのように拡張できますか?

、私はブートストラップ4、のために作られたライブラリ上で、使用することをしようとしています3ブートストラップ:https://github.com/nakupanda/bootstrap3-dialog

私は次のエラーを取得:コードを探し

「機能としてクラスを呼び出すことはできません」と、私は代を発見:

1 - classCallCheck:エラーがスロー機能があります。私はそれがユーザーに "new"を使用させ、オブジェクトをインスタンス化し、決して関数のように呼び出さないと思います。

2 - createClass:はクラスを構築する関数なので、ブートストラップ4のクラスは従来どおり定義されていません。

3 - 継承:別の関数であり、継承も従来のものではないことを示しています。

4 - ライブラリは、このコードブートストラップモーダルを拡張するがあります。

var BootstrapDialogModal = function (element, options) { 
    Modal.call(this, element, options); 
}; 

しかし、エラーをトリガModal.call:「関数としてクラスを呼び出すことはできません」。

BootstrapDialogModalがブートストラップ3によって課された継承条件で、BootstrapDialogModalがModalを継承しているとします。ブートストラップ4がアクティブな場合、これらの条件は同じではありません。

はjsfiddleに従ってください:http://jsfiddle.net/g6nrnvwu/

誰かが、私はこのコードを調整する方法を知っていますか?

ありがとうございました。

+0

ので(多分)ブートストラップ4は、これが起こるのブートストラップ3から巨大なアップデート/リメイクですブートストラップ4に "Modal"と呼ばれる新しいクラス名があります。そのライブラリ内の "Modal"という名前の関数を別の名前で変更しようとすることができます。まだまだ葛藤が増えていることを除いて、うまくいくかもしれません。より良い別のライブラリを使用するか、あなた自身を作ってください(なぜなら、私はそれを行うので、第三者のライブラリはより速いページの読み込みになります)。 –

+1

jsfiddleを入力してください。 –

+1

実際にクラスを関数として使用できないため、次のエラーが発生します。「クラスを関数として呼び出すことはできません。 Bootstrap 4では、Modalはクラスであり、プラグインが基本のModalクラスを使用している場合、それを拡張する必要があります。このような組み合わせを使用することを忘れることをお勧めします。なぜなら、数行だけで修正することはできないからです(Modalがブートストラップ4のパスに再加工されたことも考慮して)。あなたの質問は、プラグインを完全に書き直すだけで直接的に解決できます) – Lambrusco

答えて

1

これはまさに答えではありませんが、おそらくあなたを助けることができる例です。これは、モーダルを動的にマークアップを挿入して処理するために作成したクラスです。それはBS4ではありませんが、おそらくガイドとして使用できますか?

ModalUtils

関連する問題