亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Vue如何實現全局的toast組件

發布時間:2023-03-07 15:38:24 來源:億速云 閱讀:143 作者:iii 欄目:開發技術

這篇文章主要介紹“Vue如何實現全局的toast組件”,在日常操作中,相信很多人在Vue如何實現全局的toast組件問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Vue如何實現全局的toast組件”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

    1.創建toast組件

    <template>    <div class="toast" v-if="show">        {{ msg }}    </div></template><style scoped>    .toast{        position: fixed;        left: 50%;        top: 50%;        transform: translate(-50%,-50%);        border-radius: 3px;        max-width: 200px;        padding: 10px;        background: #333;        color: #fff;        font-size: 14px;        opacity: .9;        text-align: justify;        word-break: break-all;        word-wrap: break-word;    }</style>

    2.創建toast.js文件

    import toast from "@/components/toast"export default (Vue) => {    let toastComp = Vue.extend(toast);    function showToast(msg , duration = 3e3){        let toastDom = new toastComp({            data(){                return{                    show:true,                    msg                }            }        }).$mount()        document.body.appendChild(toastDom.$el);        setTimeout(() => {            toastDom.show = false        }, duration)    }    Vue.prototype.$toast = showToast;}

    3.安裝并使用 

    import toast from "@/plugins/toast";Vue.use(toast);// 組件里面使用this.$toast("message");

    vue自定義toast組件

    //toast.js

    const  TOAST_CLASS = 'toast'const  TOAST_OUT_CLASS = 'toast out'let innerHtml=""function  toast(msg,time=1000) {    let body=document.querySelector('#app');    if(body.querySelector('.toast')){        body.removeChild(body.querySelector('.toast'))    }    let toastElem = document.createElement('div')    toastElem.setAttribute('class',TOAST_CLASS)    innerHtml = `<sapn>${msg}</sapn>`    toastElem.innerHTML = innerHtml;    body.appendChild(toastElem);    setTimeout(function () {        toastElem.setAttribute('class',TOAST_OUT_CLASS)    },time)    setTimeout(function () {        let elm = body.querySelector('.toast');        if(elm){            body.removeChild(elm)        }    },time+1000)}export  default toast

    //toast.less

    @-webkit-keyframes toastIn {  0%{    opacity: 1;  }  50%{    opacity: 1;  }  100%{    opacity: 1;  }}@-webkit-keyframes toastOut {  0%{    opacity:1;  }  50%{    opacity:0.7;  }  100%{    opacity:0;  }}//animation: name duration timing-function delay iteration-count direction;.toast{  position: fixed;  z-index:99;  background-color: rgba(0,0,0,0.6);  color:#fff;  padding:15px 25px;  border-radius:5px;  top: 50%;  left:50%;  font-size:18px;  transform: translate(-50% , -50%);  animation-name: toastIn;  animation-duration: 1s;  animation-iteration-count: 1;  animation-delay: 0s;}.toast.out {  animation-name: toastOut;  animation-duration: 1s;  animation-iteration-count: 1;  animation-delay: 0s;  animation-fill-mode: forwards;}

    使用

    全局注入(main.js),this._toast(&lsquo;XXXX&rsquo;)調用

    import toast from "./utils/toast";window._toast = toast

    到此,關于“Vue如何實現全局的toast組件”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

    向AI問一下細節

    免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

    AI

    牙克石市| 水城县| 宜昌市| 阿巴嘎旗| 星座| 鄄城县| 楚雄市| 萝北县| 博客| 庆城县| 南昌市| 郧西县| 遵义县| 太康县| 和田市| 百色市| 林周县| 吉木乃县| 龙胜| 兴和县| 峨边| 墨江| 贵阳市| 富源县| 屏东市| 武川县| 泗水县| 乐亭县| 桐柏县| 唐山市| 阿坝县| 涟源市| 自治县| 舟山市| 周口市| 迁安市| 集安市| 宁强县| 兴化市| 渝中区| 永宁县|