如下所示:
十余年的臨猗網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開(kāi)發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。全網(wǎng)整合營(yíng)銷(xiāo)推廣的優(yōu)勢(shì)是能夠根據(jù)用戶(hù)設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整臨猗建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無(wú)論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)從事“臨猗網(wǎng)站設(shè)計(jì)”,“臨猗網(wǎng)站推廣”以來(lái),每個(gè)客戶(hù)項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。
首先我們需要?jiǎng)?chuàng)建 confirm.vue , confirm.js這兩個(gè)文件,一個(gè)實(shí)現(xiàn)dom結(jié)構(gòu),一個(gè)實(shí)現(xiàn)相關(guān)邏輯
confirm.vue
{{text.type}} {{text.msg}}
{{text.btn.no}} {{text.btn.ok}}
confirm.js
import Vue from 'vue'; import confirm from './confirm.vue'; let confirmConstructor = Vue.extend(confirm); let theConfirm = function (text) { return new Promise((res, rej) => { //promise封裝,ok執(zhí)行resolve,no執(zhí)行rejectlet let confirmDom = new confirmConstructor({ el: document.createElement('div') }) document.body.appendChild(confirmDom.$el); //new一個(gè)對(duì)象,然后插入body里面 confirmDom.text = text; //為了使confirm的擴(kuò)展性更強(qiáng),這個(gè)采用對(duì)象的方式傳入,所有的字段都可以根據(jù)需求自定義 confirmDom.ok = function () { res() confirmDom.isShow = false } confirmDom.close = function () { rej() confirmDom.isShow = false } }) } export default theConfirm; //暴露出去,別忘記掛載到vue的原型上 // => 在main.js里面先引入 import theConfirm from './components/confirm/confirm.js' // => 再掛載 Vue.prototype.$confirm = theConfirm; //在需要的地方直接用以下方法調(diào)用即可: // this.$confirm({ // type:'提示', // msg:'是否刪除這條信息?', // btn:{ // ok:'yes', // no:'no' // } // }).then(() => { // console.log('ok') // }) // .catch(() => { // console.log('no') // })
main.js
// The Vue build version to load with the `import` command // (runtime-only or standalone) has been set in webpack.base.conf with an alias. import Vue from 'vue' import App from './App' import router from './router' //這里就是對(duì)組件的綁定 import theConfirm from './components/confirm/confirm.js' Vue.prototype.$confirm = theConfirm; Vue.config.productionTip = false /* eslint-disable no-new */ new Vue({ el: '#app', router, components: { App }, template: '' })
helloworld.vue
點(diǎn)擊一下
以上這篇vue封裝可復(fù)用組件confirm,并綁定在vue原型上的示例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持創(chuàng)新互聯(lián)。