2016-12-15 9 views
0

私は大型モーダル(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.vuesmallModal.vueは、基本的なレイアウトの構成要素であり、フォルダ内のファイルは、モーダルの内容です。

他のコンポーネント内から新しいモーダルを開くにはどうすればよいでしょうか?パラメータを渡すことが非常に重要です。たとえば、ユーザプロファイルが表示される前にprofileモーダルはuser_idを受信して​​データベースに問い合わせる必要があります。

This projectは、たとえばMixinメソッドを使用してモーダルを表示していますが、Pluginを使用して上書きの問題が少ないものがあります。

$this.openModal('profile', userId)のように、任意のコンポーネント内または別のモーダル内からモーダルを開く最良の方法は何ですか?なぜ?私はそれがグローバルである限りグローバルイベントバスに

//Example 
Vue.EVENTS = new Vue() 

を作成することになりますVue.js 2.

答えて

0

最も簡単な方法を使用しています、EVENTSを介して放出されているすべてのイベントはでどこでも聴くことができ、あなたのコンポーネントツリー。

たとえば、このプラグインの動作を確認してください。https://github.com/euvl/vue-js-modal/

関連する問題