私は大型モーダル(800x500)と小型モーダル(300x200)の2種類のモーダルを持っています。Vue js modal:mixinまたはplugin?
私のウェブサイトのさまざまなコンポーネントの中から、これらのモーダルをすべて別の内容で開いていきたいと思います。さらにのいくつかのモーダルは、他のモーダルも開きます。。私は現在、このアプリの構造を考えている:
modals/
|- largeModals/
| |- profile.vue
| |- messages.vue
|- smallModals/
| |- enter.vue
| |- disable.vue
| |- confirm.vue
|- largeModal.vue
|- smallModal.vue
largeModal.vue
とsmallModal.vue
は、基本的なレイアウトの構成要素であり、フォルダ内のファイルは、モーダルの内容です。
他のコンポーネント内から新しいモーダルを開くにはどうすればよいでしょうか?パラメータを渡すことが非常に重要です。たとえば、ユーザプロファイルが表示される前にprofile
モーダルはuser_id
を受信してデータベースに問い合わせる必要があります。
This projectは、たとえばMixin
メソッドを使用してモーダルを表示していますが、Plugin
を使用して上書きの問題が少ないものがあります。
$this.openModal('profile', userId)
のように、任意のコンポーネント内または別のモーダル内からモーダルを開く最良の方法は何ですか?なぜ?私はそれがグローバルである限りグローバルイベントバスに
//Example
Vue.EVENTS = new Vue()
を作成することになりますVue.js 2.