html - vue如何定義一個(gè)變量,讓所有組件都能使用
問題描述
如圖,每個(gè)get和post請求都一個(gè)url,項(xiàng)目進(jìn)行太多的數(shù)據(jù)交互 所以需要把每個(gè)url的相同部分定義成一個(gè)變量,這樣方便以后修改 但我不懂如何在vue里面定義一個(gè)公共變量,讓所有組件都能使用。希望大家?guī)蛶兔Γx謝
問題解答
回答1:main.js
import domain from ’./domain.js’;global.domain = domain;
domain.js
const domain = ’//192.168.1.117:1009/’;export default { testUrl: domain + ’/cas/doc/docTypeList’}
如上所示的結(jié)構(gòu)可以解決在大中型vue應(yīng)用中的請求url的管理,樓主可以在main.js中引入該domain.js,并將其暴露為全局變量,在每個(gè)組件中就能通過domain.testUrl的方式獲取到設(shè)置的對應(yīng)的url地址。好處如下:
集中式的url管理,方便后期管理和修改
方便編碼,在請求通過domain.testUrl的方式即可
回答2:這個(gè)跟vue ,貌似沒關(guān)系吧。如果是用ES6,就可以用 const 模塊來做了。
// api.jsexport const BASE_URL = ’//192.168.1.117:1009/’... ...
調(diào)用:
import { BASE_URL } from ’api’this.$http.get(`{BASE_URL}/cas/doc/docTypeList`)...
這類問題,可以借鑒redux 里面針對模塊定義的方案。vue 也有同款:vuex
回答3:API.js
var API=’xxxxx’;exports.API=API;import API from ’./API’API.API回答4:
寫個(gè)Vue插件啊,插件是全局的。
回答5:全局變量window或者vuex
