這篇文章主要介紹“vue.js中如何全局調(diào)用MessageBox組件”的相關(guān)知識,小編通過實(shí)際案例向大家展示操作過程,操作方法簡單快捷,實(shí)用性強(qiáng),希望這篇“vue.js中如何全局調(diào)用MessageBox組件”文章能幫助大家解決問題。
創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站建設(shè)、雅安網(wǎng)絡(luò)推廣、微信平臺小程序開發(fā)、雅安網(wǎng)絡(luò)營銷、雅安企業(yè)策劃、雅安品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎;創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供雅安建站搭建服務(wù),24小時服務(wù)熱線:13518219792,官方網(wǎng)址:www.cdcxhl.com
組件模板
// /src/components/MessageBox/index.vue{{ title }}
{{ content }}
給組件添加全局功能
vue.js官方文檔中有開發(fā)插件的介紹。具體實(shí)現(xiàn)代碼如下:
// /src/components/MessageBox/index.js import msgboxVue from './index.vue'; // 定義插件對象 const MessageBox = {}; // vue的install方法,用于定義vue插件 MessageBox.install = function (Vue, options) { const MessageBoxInstance = Vue.extend(msgboxVue); let currentMsg, instance; const initInstance = () => { // 實(shí)例化vue實(shí)例 currentMsg = new MessageBoxInstance(); let msgBoxEl = currentMsg.$mount().$el; document.body.appendChild(msgBoxEl); }; // 在Vue的原型上添加實(shí)例方法,以全局調(diào)用 Vue.prototype.$msgBox = { showMsgBox (options) { if (!instance) { initInstance(); } if (typeof options === 'string') { currentMsg.content = options; } else if (typeof options === 'object') { Object.assign(currentMsg, options); } return currentMsg.showMsgBox(); } }; }; export default MessageBox;
全局使用
// src/main.js import MessageBox from './components/MessageBox/index'; Vue.use(MessageBox);
頁面調(diào)用
按照之前定義好的方法,可以在各個頁面中愉快的調(diào)用該組件了。
this.$msgBox.showMsgBox({ title: '添加分類', content: '請?zhí)顚懛诸惷Q', isShowInput: true }).then(async (val) => { // ... }).catch(() => { // ... });
最后來張效果圖
關(guān)于“vue.js中如何全局調(diào)用MessageBox組件”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,小編每天都會為大家更新不同的知識點(diǎn)。