最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue-extend和vue-component注冊一個全局組件方式

 更新時間:2023年11月09日 10:08:56   作者:donggua_123  
這篇文章主要介紹了vue-extend和vue-component注冊一個全局組件方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

extend()是一個全局構造器,生成的是一個還沒掛載到頁面元素上的組件實例。

在全局掛載插件的形式全局注冊,就需要用到vue.use()方法,官方文檔:

所以插件必須是一個對象,并且提供install方法,注冊的時候自動調用該方法。

所以組件的寫作步驟就清晰了一些了,實踐出真知,現(xiàn)在就來練習一下寫一個簡約版的全局alert彈框

1.在components文件夾下新建alert文件夾

里面首先新建一個alert.vue文件

<!-- alert -->
<template>
    <div class="alert" v-show="showAlert">
        <p class="msg">{{ msg }}</p>
    </div>
</template>
 
<script>
export default {
    props: {
        msg: {
            type: String,
            default: ''
        },
        showAlert: {
            type: Boolean,
            default: false
        }
    },
    data() {
        return {};
    },
    //方法集合
    methods: {}
};
</script>
<style lang='scss' scoped>
//@import url(); 引入公共css類
.alert {
    position: fixed;
    left: 50%;
    transform: translateX(-50%);
    .msg {
        text-align: center;
        font-size: 20px;
        padding: 5px 10px;
    }
}
</style>

2.然后在alert文件下再新建一個alert.js文件

寫擴展插件的js

import Alert from "./alert.vue";
const ALERT = {
    install(Vue) {
        Vue.component('alert', Alert); // 一定先注冊
 
        Vue.prototype.$alert = (text) => {
            let VueAlert = Vue.extend({
                data() {
                    return {
                        msg: '',
                        showAlert: false
                    }
                },
                render(h) {
                    let props = {
                        msg: this.msg,
                        showAlert: this.showAlert,
                    }
                    return h('alert', {
                        props
                    })
                }
            });
            let newAlert = new VueAlert();
            let vm = newAlert.$mount();
            let el = vm.$el;
            document.body.appendChild(el); // 添加到頁面中
            vm.showAlert = true;
            vm.msg = text;
        }
    }
}
export default ALERT;

3.在main.js中引入

、、、、
import diyAlert from '@/components/alert/alert'; // extentd寫alert
、、、
Vue.use(diyAlert);

4.這樣就可以在全局調用了

<!-- extend寫message -->
<template>
    <div class="extentd">
         <el-button type="primary" @click="alert">alert</el-button>
    </div>
</template>
 
<script>
export default {
    data() {
        return {};
    },
    //方法集合
    methods: {
        alert() {
            this.$alert('hahahah');
        }
    }
};
</script>
<style lang='scss' scoped>
//@import url(); 引入公共css類
</style>

剩下的就是在此基礎上進行功能性擴展了,比如關閉,動效等,就簡單了。

總結

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • Vue 實現(xiàn)CLI 3.0 + momentjs + lodash打包時優(yōu)化

    Vue 實現(xiàn)CLI 3.0 + momentjs + lodash打包時優(yōu)化

    今天小編就為大家分享一篇Vue 實現(xiàn)CLI 3.0 + momentjs + lodash打包時優(yōu)化,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • vue相同路由跳轉強制刷新該路由組件操作

    vue相同路由跳轉強制刷新該路由組件操作

    這篇文章主要介紹了vue相同路由跳轉強制刷新該路由組件操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08
  • Vue插值、表達式、分隔符、指令知識小結

    Vue插值、表達式、分隔符、指令知識小結

    這篇文章主要介紹了Vue插值、表達式、分隔符、指令的相關知識,文中給大家提到了去除vue插值表達式{{}}的方法,需要的朋友可以參考下
    2018-10-10
  • vue3 emit is not a function問題及解決

    vue3 emit is not a function問題及解決

    這篇文章主要介紹了vue3 emit is not a function問題及解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-09-09
  • Vue中使用?class?類樣式的方法詳情

    Vue中使用?class?類樣式的方法詳情

    這篇文章主要介的是?Vue中如何使用?class?類樣式的方法,在vue中為我們提供了幾種方式來使用class類的樣式,分別是布爾值、表達式、多類封裝、下面來看看文章的詳細介紹內容吧,需要的朋友可以參考一下
    2021-11-11
  • Vue.js學習之過濾器詳解

    Vue.js學習之過濾器詳解

    過濾器,本質上就是一個函數。其作用在于用戶輸入數據后,它能夠進行處理,并返回一個數據結果。下面這篇文章主要給大家介紹了Vue.js中過濾器的相關資料,需要的朋友可以參考借鑒,一起來看看吧。
    2017-01-01
  • elementUI中input回車觸發(fā)頁面刷新問題與解決方法

    elementUI中input回車觸發(fā)頁面刷新問題與解決方法

    這篇文章主要給大家介紹了關于elementUI中input回車觸發(fā)頁面刷新問題與解決方法,文中通過實例代碼介紹的非常詳細,對大家學習或者使用elementUI具有一定的參考學習價值,需要的朋友可以參考下
    2023-07-07
  • vue?element-ui動態(tài)橫向統(tǒng)計表格的實現(xiàn)

    vue?element-ui動態(tài)橫向統(tǒng)計表格的實現(xiàn)

    這篇文章主要介紹了vue?element-ui動態(tài)橫向統(tǒng)計表格的實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • Vue echarts封裝組件需求分析與實現(xiàn)

    Vue echarts封裝組件需求分析與實現(xiàn)

    在平常的項目中,echarts圖表我們也是使用的非常多的,通常我們從后端拿到數據,需要在圖表上動態(tài)的進行呈現(xiàn),接下來我們就模擬從后端獲取數據然后進行呈現(xiàn)的方法,這篇文章主要介紹了Vue echarts封裝組件需求分析與實現(xiàn)
    2022-10-10
  • Vuex實現(xiàn)簡單購物車

    Vuex實現(xiàn)簡單購物車

    這篇文章主要為大家詳細介紹了Vuex實現(xiàn)簡單購物車,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-01-01

最新評論

南通市| 胶州市| 浦北县| 平塘县| 凤凰县| 佳木斯市| 棋牌| 红原县| 徐汇区| 祁东县| 阿尔山市| 沈丘县| 曲靖市| 陇南市| 益阳市| 耒阳市| 开阳县| 西乌| 玉屏| 房产| 曲阜市| 高雄县| 崇信县| 楚雄市| 南江县| 阿坝县| 枞阳县| 黑龙江省| 元江| 林州市| 津南区| 翁源县| 滦南县| 凤山县| 田林县| 鸡泽县| 太和县| 甘洛县| 如皋市| 井冈山市| 延边|