Vue定义全局变量、全局方法,在.vue文件和.js文件里使用 |
您所在的位置:网站首页 › vue打包js文件中_resolved和_where › Vue定义全局变量、全局方法,在.vue文件和.js文件里使用 |
在.vue后缀名的文件,和.js后缀名的文件里,使用全局变量的语法是不一样的。.vue模板文件可以直接访问挂载在Vue实例上的全局对象,而普通的.js文件访问不到。 定义全局变量在任意路径下创建一个.vue文件。我这里创建在src/config路径下,取名为Global.vue Global.vue /** * 统一认证服务器地址 */ // const ssoServer = "https://iamtest.by.gov.cn:8083/idp"; // 测试环境 const ssoServer = "https://iam.by.gov.cn/idp"; // 生产环境 /** * 统一认证登出地址 */ // const ssoServerLogout = "https://iamtest.by.gov.cn:8083/apphub/logout"; // 测试环境 const ssoServerLogout = "https://iam.by.gov.cn/apphub/logout"; // 生产环境 export default { ssoServer, ssoServerLogout }我这里定义的是常量。变量只是把const换成let,别的都一样。 export default后面必须把所有全局变量名又写一遍,属于boilerplate代码,没办法。 main.js是Vue项目的入口文件,在main.js里面把全局变量挂载到Vue实例上。 main.js import global_ from './config/Global' // 这个路径是相对于main.js的相对路径 Vue.prototype.GLOBAL = global_这样挂载完了以后,我们有两个办法去访问。 通过Vue.prototype对象访问import Vue from 'vue' let a = Vue.prototype.GLOBAL.ssoServer这种写法在.vue文件和.js文件中都可以使用。 通过this关键字访问let a = this.GLOBAL.ssoServer这种写法只能在.vue文件中使用。.vue模板文件中,this关键字可以访问到Vue.prototype上挂载的所有对象,所以写this就相当于写Vue.prototype。 其实两种方法没什么区别,你全部用第一种方法也可以。 第二种方法只是稍微简洁一些而已。 定义全局方法在任意.js文件里使用export function语法,即可让这个方法变成全局方法。 common.js export function 个人号码加密 (号码) { let length = 号码.length if (length |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |