在大多数Vue中.js教程,我看到的东西像

new Vue({
  store, // inject store to all children
  el: '#app',
  render: h => h(App)
})

但我使用的是vue cli(我实际上使用的是quasar),它为我声明了vue实例,所以我不知道应该在哪里说我希望store是一个"vue范围"的全局变量.我应该在哪里具体说明?谢谢

推荐答案

是的,您可以在entrypoint文件(main.js)中这样设置这些变量:

Vue.store= Vue.prototype.store = 'THIS IS STORE VARIABLE';

然后在vue实例中访问它,如下所示:

<script>
export default {
  name: 'HelloWorld',
  methods: {
    yourMethod() {
        this.store // can be accessible here.
    }
  }
}
</script>

你也可以在vue-docs here中看到这一点.

Edit 1:

来自 comments 部分关于quasar模板中"无入口点文件"的讨论.

你可以做的是,转到src/router/index.js,在那里你可以访问Vue,通过它你可以设置一个全局变量,如下所示:

...
import routes from './routes'

Vue.prototype.a = '123';

Vue.use(VueRouter)
...

如果你能安慰我.登录App.vue,大致如下:

<script>
export default {
  name: 'App',
  mounted() {
        console.log(this.a);
  }
}
</script>

现在,看看你的控制台:

也可以在脚本标记中的App.vue个文件中执行同样的操作.

Vue.js相关问答推荐

Nuxt 3:从注册表单发出输入值

如何使用 vueJS 上的 ref( ) 函数创建二维数组定义?

元素不会对react 性props 的更改做出react

在组件之间共享 websocket 连接

在 dom 内移动 Vue 组件?

VueJS中的绑定函数含义

Vue index.html favicon 问题

Laravel Vue - 如何让 vue 在公共文件夹中查找图像

Vuex - 如何跨不同选项卡持久存储更新?

Axios-一次发出多个请求(vue.js)

vue-test-utils:无法覆盖属性 $route,这通常是由于插件将该属性添加为只读值

Vue router路由,Root Vue 没有数据?

Select 下拉列表中的复选框后如何清除 v-autocomplete(多个)搜索输入?

emit更新数组不起作用

在 VueJS 中观察元素的高度

无法访问函数内的数据属性

在vue中单击时如何模糊元素

带有 Google Auth Signin 的 Vuejs 全局函数

Vuetify 离线文档

返回 VueJS 方法的Native Code消息