2016-12-15 56 views
0

我有兩種不同類型的模態:大模態(800x500)和小模態(300x200)。Vue js模式:mixin還是插件?

從我網站上的不同組件中,我想打開這些模式,所有內容都有不同的內容。而且即使某些模態也應該打開其他模態以及。目前,我正在考慮這個程序結構:

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))中打開模式的最佳方式是什麼?爲什麼?我使用Vue.js 2.

回答

0

最簡單的方法將是就創建全局事件總線

//Example 
Vue.EVENTS = new Vue() 

,因爲它是全球性的,即通過EVENTS發出的所有事件,可以在任何地方你聽組件樹。

例如,檢查該插件的工作方式:https://github.com/euvl/vue-js-modal/