ホームページ  >  に質問  >  本文

html - vue如何定义一个变量,让所有组件都能使用

如图,每个get和post请求都一个url,项目进行太多的数据交互 所以需要把每个url的相同部分定义成一个变量,
这样方便以后修改 但我不懂如何在vue里面定义一个公共变量,让所有组件都能使用。希望大家帮帮忙,谢谢

伊谢尔伦伊谢尔伦2741日前848

全員に返信(5)返信します

  • 巴扎黑

    巴扎黑2017-04-17 15:01:13

    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的方式即可

    返事
    0
  • PHP中文网

    PHP中文网2017-04-17 15:01:13

    这个跟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

    返事
    0
  • ringa_lee

    ringa_lee2017-04-17 15:01:13

    API.js

    var API='xxxxx';
    exports.API=API;
    
    import API from './API'
    
    API.API
    

    返事
    0
  • 高洛峰

    高洛峰2017-04-17 15:01:13

    写个Vue插件啊,插件是全局的。

    返事
    0
  • 天蓬老师

    天蓬老师2017-04-17 15:01:13

    全局变量window或者vuex

    返事
    0
  • キャンセル返事