vue.js 中的应用程序范围的全局变量
Application-wide globals in vue.js
Vue.js 是否有一种惯用的方式来声明应用程序范围的全局变量,例如 baseUrl
,然后在整个应用程序中引用它们(对于 API 调用等)?
如果是这样,在构建时配置此类全局变量以创建开发、测试和生产实例的最佳方法是什么?例如,我想象做 export BASEURL='http://dev.myapp.com'
、运行 构建并获取配置了此 baseUrl 的应用程序。这反过来又允许我为持续交付创建自动构建,某些分支已更新(develop
-> dev.myapp.com
、master
-> www.myapp.com
等)。
谢谢!
我所做的:使用一些状态管理工具,例如Vuex。
如果您不想增加应用程序的复杂性,我会使用父 Vue 实例,比如 App.vue
并在该实例中定义全局数据,然后当我需要来自父实例的数据时,我如果您需要 baseUrl,请致电 this.$root.baseUrl
。请注意,您也可以调用 this.$parent.baseUrl
但这仅适用于直接子项,如果您在子项的子项中,则不会获得全局数据,这就是 $root
对象更好的原因。
Vue.js 是否有一种惯用的方式来声明应用程序范围的全局变量,例如 baseUrl
,然后在整个应用程序中引用它们(对于 API 调用等)?
如果是这样,在构建时配置此类全局变量以创建开发、测试和生产实例的最佳方法是什么?例如,我想象做 export BASEURL='http://dev.myapp.com'
、运行 构建并获取配置了此 baseUrl 的应用程序。这反过来又允许我为持续交付创建自动构建,某些分支已更新(develop
-> dev.myapp.com
、master
-> www.myapp.com
等)。
谢谢!
我所做的:使用一些状态管理工具,例如Vuex。
如果您不想增加应用程序的复杂性,我会使用父 Vue 实例,比如 App.vue
并在该实例中定义全局数据,然后当我需要来自父实例的数据时,我如果您需要 baseUrl,请致电 this.$root.baseUrl
。请注意,您也可以调用 this.$parent.baseUrl
但这仅适用于直接子项,如果您在子项的子项中,则不会获得全局数据,这就是 $root
对象更好的原因。