如图,每个get和post请求都一个url,项目进行太多的数据交互 所以需要把每个url的相同部分定义成一个变量,
这样方便以后修改 但我不懂如何在vue里面定义一个公共变量,让所有组件都能使用。希望大家帮帮忙,谢谢
全局变量window或者vuex
写个Vue插件啊,插件是全局的。
API.js
var API='xxxxx'; exports.API=API; import API from './API' API.API
这个跟vue ,貌似没关系吧。如果是用ES6,就可以用 const 模块来做了。
// api.js
export const BASE_URL = '//192.168.1.117:1009/'
... ...
调用:
import { BASE_URL } from 'api' this.$http.get(`{BASE_URL}/cas/doc/docTypeList`) ...
这类问题,可以借鉴redux
里面针对模块定义的方案。
vue 也有同款:vuex
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的方式即可