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

vue項(xiàng)目中定義全局變量、函數(shù)的幾種方法

 更新時(shí)間:2019年11月08日 08:27:05   作者:蛙哇  
這篇文章主要介紹了vue項(xiàng)目中定義全局變量、函數(shù)的幾種方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

前言

在項(xiàng)目中,經(jīng)常會(huì)復(fù)用一些變量和函數(shù),比如用戶的登錄token,用戶信息等。這時(shí)將它們設(shè)為全局的就顯得很重要了,全局變量和全局函數(shù)之間有一些相通之處,它們其實(shí)很簡單,但是有些人可能還不太了解。簡單總結(jié)分享一波,希望對你有所幫助。

定義全局變量

原理:使用模塊(.js或.vue文件)來管理全局變量,最后使用export暴露出去 (最好導(dǎo)出的格式為對象,方便在其他地方調(diào)用),當(dāng)其它地方需要使用時(shí),用import導(dǎo)入該模塊

1、使用全局變量專用模塊,掛載到main.js文件上面

全局變量模塊Global.vue定義如下:

const token='12345678';
const userStatus=false;
export default {
  token, // 用戶token身份
  userStatus // 用戶登錄狀態(tài)
}

模塊里的變量用export暴露出去,當(dāng)其它地方需要使用時(shí),引入模塊便可。

使用全局變量:

import global from '../../components/Global'//引用模塊進(jìn)來
export default {
data () {
  return {
     token:global.token,//將全局變量賦值到data里面
    }
  }
}

2、全局變量模塊掛載到Vue.prototype上

Global.vue文件同上,在項(xiàng)目入口的main.js里配置:

import global from '../../components/Global'
Vue.prototype.GLOBAL = global

掛載之后,在需要引用全局變量的模塊處,不需再導(dǎo)入全局變量模塊,而是直接用this就可以引用了,如下:

export default {
 data () {
  return {
   token: this.GLOBAL.token,
  }
 }
}

方法一跟方法二的主要區(qū)別是,方法二全局只需要導(dǎo)入一次就可以,簡單方便。

3、使用vuex定義全局變量

Vuex是一個(gè)專為Vue.js應(yīng)用程序開發(fā)的狀態(tài)管理模式。它采用集中式存儲(chǔ)管理應(yīng)用的所有組件的狀態(tài)。因此可以存放著全局量。

// index.js文件里定義vuex
import state from './state'
export default new Vuex.Store({
 actions,
 getters,
 mutations,
 state,
})
// state.js里面存放全局變量,并且暴露出去
const state = {
 token:'12345678',
 language: 'en',
}

export default state

使用的時(shí)候,在需要引用全局變量的模塊處直接使用this.$store調(diào)用

export default {
  methods: {
   getInternation() {
    if (this.$store.state.language === 'en') {
     this.internation = 2
    } else if (this.$store.state.language === 'zh_CN') {
     this.internation = 1
    }
   }
  } 
}

因?yàn)閂uex有點(diǎn)繁瑣,有點(diǎn)殺雞用牛刀的感覺。因此認(rèn)為并沒有必要使用它。上面只是簡單的使用,如果想要具體了解使用方式,可以去查閱資料具體掌握。

定義全局函數(shù)

原理:在main.js里面通過Vue.prototype將函數(shù)掛載到Vue實(shí)例上面,通過this.函數(shù)名,來運(yùn)行函數(shù)。

1、在main.js文件直接定義方法

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

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

使用的時(shí)候組件里直接調(diào)用。

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

2、使用全局函數(shù)專用模塊,掛載到main.js上面

base.js文件,文件位置可以放在跟main.js同一級,方便引用(這點(diǎn)可以依據(jù)個(gè)人習(xí)慣決定)。

exports.install = function (Vue, options) {
  Vue.prototype.changeData = function (){
    alert('執(zhí)行成功');
  };
};

main.js引入并使用。

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

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

this.changeData();

結(jié)語

以上是vue中全局變量和全局函數(shù)使用的全部內(nèi)容。希望總結(jié)的東西對你有所幫組。還不太了解的可以多看幾遍,大家加油!??!也希望大家多多支持腳本之家。

相關(guān)文章

  • Vue監(jiān)聽一個(gè)數(shù)組id是否與另一個(gè)數(shù)組id相同的方法

    Vue監(jiān)聽一個(gè)數(shù)組id是否與另一個(gè)數(shù)組id相同的方法

    今天小編就為大家分享一篇Vue監(jiān)聽一個(gè)數(shù)組id是否與另一個(gè)數(shù)組id相同的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-09-09
  • vue3使用useDialog實(shí)現(xiàn)對話框的示例代碼

    vue3使用useDialog實(shí)現(xiàn)對話框的示例代碼

    在日常開發(fā)中,彈窗是常見的一個(gè)功能,本文主要介紹了vue3使用useDialog實(shí)現(xiàn)對話框的示例代碼,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-01-01
  • VUE前端cookie簡單操作

    VUE前端cookie簡單操作

    這篇文章主要為大家詳細(xì)介紹了VUE前端cookie簡單操作代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-10-10
  • vue3+vite中使用vuex的具體步驟

    vue3+vite中使用vuex的具體步驟

    在vue3+vite創(chuàng)建的項(xiàng)目中使用vuex,要注意的是vite有部分寫法和之前的webpack是不同的,這篇文章主要介紹了vue3+vite中使用vuex的具體步驟,需要的朋友可以參考下
    2022-11-11
  • 關(guān)于vuepress部署出現(xiàn)樣式的問題及解決

    關(guān)于vuepress部署出現(xiàn)樣式的問題及解決

    這篇文章主要介紹了關(guān)于vuepress部署出現(xiàn)樣式的問題及解決方案,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • vue3?+?elementPlus?reset重置表單問題

    vue3?+?elementPlus?reset重置表單問題

    這篇文章主要介紹了vue3?+?elementPlus?reset重置表單問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • 解析使用useDark(),發(fā)現(xiàn)transition?動(dòng)畫失效

    解析使用useDark(),發(fā)現(xiàn)transition?動(dòng)畫失效

    這篇文章主要為大家介紹了使用useDark(),發(fā)現(xiàn)transition動(dòng)畫失效的示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-05-05
  • 詳解Vue中表單組件的雙向數(shù)據(jù)綁定

    詳解Vue中表單組件的雙向數(shù)據(jù)綁定

    Vue?提供了雙向數(shù)據(jù)綁定機(jī)制,使得開發(fā)者可以輕松地將表單組件的值與?Vue?實(shí)例中的數(shù)據(jù)進(jìn)行關(guān)聯(lián),本文將詳細(xì)介紹如何在?Vue?中使用這些表單組件,并實(shí)現(xiàn)雙向數(shù)據(jù)綁定,需要的可以參考下
    2024-03-03
  • Vue3+Ts實(shí)現(xiàn)緩存功能的示例代碼

    Vue3+Ts實(shí)現(xiàn)緩存功能的示例代碼

    這篇文章主要為大家詳細(xì)介紹了Vue3+Ts如何實(shí)現(xiàn)緩存,用戶搜索詞本地排名,延遲消費(fèi)或者消息隊(duì)列,用戶簽到和鎖,以及接口限流,還有全局ID等功能,需要的可以參考下
    2024-03-03
  • element-plus 在vue3 中不生效的原因解決方法(element-plus引入)

    element-plus 在vue3 中不生效的原因解決方法(element-plus引入)

    這篇文章主要介紹了element-plus 在vue3 中不生效的原因解決方法(element-plus引入),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-08-08

最新評論

汝南县| 江永县| 清河县| 吐鲁番市| 江油市| 陵川县| 三门县| 厦门市| 温泉县| 定日县| 古蔺县| 安阳县| 颍上县| 宣化县| 岳池县| 漳州市| 体育| 城市| 富顺县| 利辛县| 荆州市| 凤城市| 措勤县| 兰考县| 台中市| 桦甸市| 勐海县| 米易县| 平潭县| 米泉市| 普宁市| 田阳县| 长兴县| 车险| 库车县| 太仆寺旗| 潼南县| 大姚县| 罗平县| 习水县| 锦屏县|