html - vue如何定义一个变量,让所有组件都能使用
问题描述
如图,每个get和post请求都一个url,项目进行太多的数据交互 所以需要把每个url的相同部分定义成一个变量,这样方便以后修改 但我不懂如何在vue里面定义一个公共变量,让所有组件都能使用。希望大家帮帮忙,谢谢
问题解答
回答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’}
如上所示的结构可以解决在大中型vue应用中的请求url的管理,楼主可以在main.js中引入该domain.js,并将其暴露为全局变量,在每个组件中就能通过domain.testUrl的方式获取到设置的对应的url地址。好处如下:
集中式的url管理,方便后期管理和修改
方便编码,在请求通过domain.testUrl的方式即可
回答2:这个跟vue ,貌似没关系吧。如果是用ES6,就可以用 const 模块来做了。
// api.jsexport const BASE_URL = ’//192.168.1.117:1009/’... ...
调用:
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:
写个Vue插件啊,插件是全局的。
回答5:全局变量window或者vuex