zoukankan      html  css  js  c++  java
  • vue 设置全局变量并且可以在浏览器控制台更改

    后端提供了一个接口,要求可以在浏览器控制台更改参数,以方便后端可以随时更改参数

    • 新建一个存放全局变量的js文件,如: params.js,内容如下:
    export default {
        de:'qweqweqweqwe',     //封装的axios中要用到的默认值
        setParams(v){      //用于浏览器修改全局变量"de" 
            this.de= v
        }
    }
    
    • main.js 
    import params from './params'   //引入params.js
    Vue.prototype.$params = params  //挂载到vue实例上,以便项目随处可用
    const vm = new Vue({        //vue实例定义为变量
      router,
      store,
      render: h => h(App)
    }).$mount('#app')
    window.params= vm.$params    //挂载到window对象上,以便浏览器可以访问
    export default vm         //把vue实例暴露出去,以便js文件可以访问到vue实例
    
    • request.js (封装的axios文件)
    import axios from 'axios'
    import vm from '@/main'        //引入main.js以便访问vue实例
    
    axios.interceptors.request.use(
      config => {
        config.params = { 'xxxxxxxx': vm.$params.de }   //这里要用到params.js定义的de(默认值)
        return config
      },
      error => {
        return Promise.reject(error)
      }
    )

      现在可以打开浏览器控制台,输入params,会出现:

    {
        de:'qweqweqweqwe',    
        setParams(v){      
            this.de= v
        }
    }
    

      输入params.setParams('abcdefg')  ,  哈哈,  你再调用接口,  大功告成!

  • 相关阅读:
    leetcode--Lowest Common Ancestor of a Binary Search Tree
    bzoj3675【APIO2014】序列切割
    计算机网络之面试常考
    <html>
    TCP相关面试题总结
    Java多线程之Lock的使用
    原来Java中有两个ArrayList
    Java编程规范
    一些面试基本知识(Android篇一)
    _PyUnicodeUCS4_AsDefaultEncodedString
  • 原文地址:https://www.cnblogs.com/Bob0411/p/12526617.html
Copyright © 2011-2022 走看看