javascript - 如何在 vuejs 中全局使用变量
问题描述
所以我有一个 vuejs 项目,想在我的任何组件中使用一些变量(全局)(变量不会改变它的值)。我创建了一个名为STEPS
in的变量,somefile.js
并将其从我想要使用的组件中导入。
// somefile.js
export const STEPS = {
PROJECT: 'project',
USER: 'user',
SUMMARY: 'summary',
}
// maybe freeze object here because value will not be changed
// component1.vue
import { STEPS } from 'somefile.js'
export default {
methods: {
someMethod(value) {
if (value === STEPS.PROJECT) {
// do something
}
}
}
}
// component2.vue
import { STEPS } from 'somefile.js'
export default {
methods: {
someMethod(value) {
if (value === STEPS.USER) {
// do something
}
}
}
}
所以这真的有效吗?我没有收到任何错误或任何东西。但我只是想知道..我不确定这样使用它是否可以?只是制作一个 .js 文件并将其导入代码中的任何位置并使用它?
所以.. 我发现了人们在 vuejs 中使用全局变量的两种方式。
Vue.prototype.$STEPS = {
PROJECT: 'project',
USER: 'user',
SUMMARY: 'summary',
}
created() {
console.log(this.$STEPS)
}
- 使用 mixins https://vuejs.org/v2/guide/mixins.html
var mixin = {
data: function () {
return {
message: 'hello',
foo: 'abc'
}
}
}
new Vue({
mixins: [mixin],
data: function () {
return {
message: 'goodbye',
bar: 'def'
}
},
created: function () {
console.log(this.$data)
// => { message: "goodbye", foo: "abc", bar: "def" }
}
})
所以我的问题是可以使用我如何使用全局变量吗?只需在 javascript 文件中创建一个变量并导入它。或者我应该将其更改为using instance properties
ormixins
吗?
解决方案
推荐阅读
- regex - 将 Perl 与 Regex 一起使用,如何删除字符串中的字符串?
- python - Discord 机器人命令突然停止工作
- javascript - 使用 for 循环对数组进行迭代真的有效吗?
- azureservicebus - 如何恢复 Azure 服务总线中意外删除的队列?
- pdf - 使用 fpdf 将 jpeg 图像插入 pdf 时的方向问题
- excel - 用户表单文本框中未填充总公式的百分比?
- swift - 如何复用函数并更新对应的数据模型实例?
- javascript - 扩展嵌套 typescript 接口
- performance - Rust 编译器会自动删除不必要的中间变量吗?
- r - dplyr 中的“或”运算符