中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

vue全局提示插件開發toast怎么使用

發布時間:2022-11-25 09:11:36 來源:億速云 閱讀:200 作者:iii 欄目:開發技術

本篇內容介紹了“vue全局提示插件開發toast怎么使用”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

插件

插件通常用來為 Vue 添加全局功能。插件的功能范圍沒有嚴格的限制——一般有下面幾種:1.添加全局方法或者 property。2.添加全局資源:指令/過濾器/過渡等。3.通過全局混入來添加一些組件選項。4.添加 Vue 實例方法,通過把它們添加到 Vue.prototype 上實現。5.一個庫,提供自己的 API,同時提供上面提到的一個或多個功能。

vue插件的編寫方法一般分為以上5類,其注冊與綁定機制如下:

export default {
    install(Vue, options) {
        Vue.myGlobalMethod = function () {  // 1. 添加全局方法或屬性,如:  vue-custom-element
            // 邏輯...
        }
        Vue.directive('my-directive', {  // 2. 添加全局資源:指令/過濾器/過渡等,如 vue-touch
            bind (el, binding, vnode, oldVnode) {
                // 邏輯...
            }
            ...
        })
        Vue.mixin({
            created: function () {  // 3. 通過全局 mixin方法添加一些組件選項,如: vuex
                // 邏輯...
            }
            ...
        })
        Vue.prototype.$myMethod = function (options) {  // 4. 添加實例方法,通過把它們添加到 Vue.prototype 上實現
            // 邏輯...
        }
    }
}

上方代碼使用了es6部分語法列出了4種編寫插件的方法,而install是注冊插件主要調用的方法,包含了兩個參數(Vue實例和自定義配置屬性options)

開發插件

我們這里主要使用的是第四種方法,將我們的插件函數注冊到Vue.prototype實例上面
首先我們在plugin里創建個toast文件夾用來放置插件,里面包含兩個文件,toast.vue和toast.js,

然后在編寫我們的樣式結構文件toast.vue

這里我們使用了一個visible變量來控制提示框的顯示,message為提示的消息

<template>
      <div v-if="visible">
          <div>{{message}}</div>
      </div>
</template>
<script>
export default {
  data() {
    return {
      visible: false,
      message: ""
    };
  }
};
</script>

接著在toast.js里面編寫插件的方法與處理函數

import ToastComponent from './toast.vue'    //引入toast.vue組件export default {    // 導出一個對象,里面包含vue注冊插件所調用的方法install
    install: function (Vue) {
        const ToastConstructor = Vue.extend(ToastComponent)    // 將toast.vue組件生成為Vue的子類
        const instance = new ToastConstructor();    // 生成一個該子類的實例    instance.$mount(document.createElement('div'))    // 將這個實例掛載在新創建的div上,并加入到body中
    document.body.appendChild(instance.$el)

    // 通過Vue的原型注冊一個方法$toast,有兩個參數(msg為提示的文字,duration為延時關閉)
    Vue.prototype.$toast = (msg, duration = 1500) =&gt; {
        if (instance.visible) return;    // visible是toast.vue組件的一個變量,用來控制提示框的顯示

        instance.message = msg;
        instance.visible = true;

        setTimeout(() =&gt; {    // 默認延時1.5s關閉提示框
            instance.visible = false;
        }, duration);
    }
}}

這樣我們就完成了組件的封裝,是不是很簡單

使用插件

現在把我們封裝好的插件引入到main.js中

import toast from './plugin/toast'
Vue.use(toast);

然后我們就可以在組件中使用它了

this.$toast('提示文字')

我們現在把toast.vue添加上樣式和過度效果,讓它看起來更加的友好,以下是toast.vue文件的全部內容

<template>
   <!-- 全局提示框 -->
   <transition name="slide-fade">
      <div v-if="visible">
          <div>{{message}}</div>
      </div>
  </transition>
</template>
<script>
export default {
  data() {
    return {
      visible: false,
      message: ""
    };
  }
};
</script>
<style scoped>
.dialog-tips{
    min-width: 380px;
    box-sizing: border-box;
    border-radius: 4px;
    border: 1px solid #e1f3d8;
    position: fixed;
    left: 50%;
    top: 20px;
    transform: translateX(-50%);
    background-color: #f0f9eb;
    overflow: hidden;
    padding: 15px 15px 15px 20px;
    display: flex;
    align-items: center;
    color: #67c23a;
}.slide-fade-enter, .slide-fade-leave-to {
  margin-top:-30px;
  opacity: 0;}.slide-fade-enter-active,.slide-fade-leave-active {
  transition: all .3s ease;
}.slide-fade-enter-to,.slide-fade-leave {
  margin-top:0px;
  opacity:1;
}
</style>

Vue的優點

Vue具體輕量級框架、簡單易學、雙向數據綁定、組件化、數據和結構的分離、虛擬DOM、運行速度快等優勢,Vue中頁面使用的是局部刷新,不用每次跳轉頁面都要請求所有數據和dom,可以大大提升訪問速度和用戶體驗。

“vue全局提示插件開發toast怎么使用”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

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

AI

旬邑县| 昌乐县| 虞城县| 深州市| 芜湖市| 徐水县| 阳谷县| 淮北市| 右玉县| 包头市| 楚雄市| 旬邑县| 滦南县| 东乡| 闽清县| 霍邱县| 盐源县| 平罗县| 吉林市| 荥经县| 通辽市| 林甸县| 滁州市| 嵊泗县| 凌源市| 山西省| 金门县| 兴安盟| 会宁县| 钦州市| 兴山县| 松原市| 开阳县| 盘山县| 玉山县| 太仓市| 青川县| 冀州市| 榕江县| 宁武县| 云和县|