溫馨提示×

溫馨提示×

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

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

vue怎么定義全局變量和全局方法

發(fā)布時間:2023-04-25 14:57:16 來源:億速云 閱讀:120 作者:zzz 欄目:開發(fā)技術(shù)

本篇內(nèi)容介紹了“vue怎么定義全局變量和全局方法”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!

一、給vue定義全局變量

1.定義專用模塊來配置全局變量

定義一個專用模塊來配置全局變量,然后通過export暴露出去,在需要的組件引入global.vue

// 定義一些公共的屬性和方法
const httpUrl = 'http://test.com'
// 暴露出這些屬性
export default {
    httpUrl,
}

 引入及使用

<script>
    // 導(dǎo)入共用組件
    import global from './global.vue'
    export default {
        data () {
            return {
                //使用
                globalUrl: global.httpUrl
            }
        }
    }
</script>

2.通過全局變量掛載到Vue.prototype

同上,定義一個專用模塊來配置全局變量,然后通過export暴露出去,在需要的組件引入global.vue

// 定義一些公共的屬性和方法
const httpUrl = 'http://test.com'
// 暴露出這些屬性
export default {
    httpUrl,
}

在main.js中引入并復(fù)制給vue

// 導(dǎo)入共用組件
import global from './global.vue'
Vue.prototype.global = global

組件調(diào)用

export default {
    data () {
        return {
           // 賦值使用, 可以使用this變量來訪問
           globalHttpUrl: this.global.httpUrl
    }
}

3.使用vuex

安裝:

npm install vuex --save

新建store.js文件

import Vue from 'vue' 
import Vuex from 'vuex'; 
Vue.use(Vuex); 
export default new Vuex.Store({ 
    state:{ httpUrl:'http://test.com' } 
})

main.js中引入

import store from './store' 
new Vue({
    el: '#app', 
    router, 
    store, 
    components: { App }, 
    template: '<App/>' 
});

組件內(nèi)調(diào)用

console.log(this.$store.state.httpUrl)

二、給vue定義全局方法

1.將方法掛載到 Vue.prototype 上面

簡單的函數(shù)可以直接寫在main.js文件里定義。

// 將方法掛載到vue原型上
Vue.prototype.changeData = function (){
  alert('執(zhí)行成功');
}

使用方法

//直接通過this運行函數(shù),這里this是vue實例對象
this.changeData();

2. 利用全局混入 mixin

新建一個mixin.js文件

export default {
    data() {
 
    },
    methods: {
        randomString(encode = 36, number = -8) {
            return Math.random() // 生成隨機數(shù)字,
                .toString(encode) // 轉(zhuǎn)化成36進制
                .slice(number) 
        }
    }
}

// 在項目入口 main.js 里配置

import Vue from 'vue'
import mixin from '@/mixin'
 
Vue.mixin(mixin)

// 在組件中使用

export default {
    mounted() {
        this.randomString()
    }
}

3. 使用插件方式

plugin.js文件,文件位置可以放在跟main.js同一級,方便引用

exports.install = function (Vue, options) {
    Vue.prototype.test = function (){
        console.log('test');
    };
};

main.js引入并使用。

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

所有的組件里就可以調(diào)用該函數(shù)。

this.test();

“vue怎么定義全局變量和全局方法”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

vue
AI