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

溫馨提示×

溫馨提示×

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

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

怎么在vue項目中定義全局變量

發布時間:2021-03-11 17:21:46 來源:億速云 閱讀:3869 作者:Leah 欄目:web開發

這篇文章將為大家詳細講解有關怎么在vue項目中定義全局變量,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

定義全局變量

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

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

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

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

模塊里的變量用export暴露出去,當其它地方需要使用時,引入模塊便可。

使用全局變量:

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

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

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

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

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

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

方法一跟方法二的主要區別是,方法二全局只需要導入一次就可以,簡單方便。

3、使用vuex定義全局變量

Vuex是一個專為Vue.js應用程序開發的狀態管理模式。它采用集中式存儲管理應用的所有組件的狀態。因此可以存放著全局量。

// 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

使用的時候,在需要引用全局變量的模塊處直接使用this.$store調用

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

因為Vuex有點繁瑣,有點殺雞用牛刀的感覺。因此認為并沒有必要使用它。上面只是簡單的使用,如果想要具體了解使用方式,可以去查閱資料具體掌握。

定義全局函數

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

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

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

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

使用的時候組件里直接調用。

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

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

base.js文件,文件位置可以放在跟main.js同一級,方便引用(這點可以依據個人習慣決定)。

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

main.js引入并使用。

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

所有的組件里就可以調用該函數。

this.changeData();

關于怎么在vue項目中定義全局變量就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

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

vue
AI

睢宁县| 平乐县| 巴南区| 霍山县| 定南县| 铜山县| 永清县| 德令哈市| 个旧市| 安丘市| 偃师市| 临城县| 旬邑县| 平湖市| 哈巴河县| 灵川县| 临夏市| 南陵县| 雷州市| 甘泉县| 同德县| 长治市| 乌海市| 滁州市| 二连浩特市| 内乡县| 江山市| 高淳县| 荃湾区| 永善县| 钦州市| 句容市| 巴林右旗| 喀喇沁旗| 城步| 大竹县| 永嘉县| 固原市| 九江市| 杭锦旗| 荔浦县|