使用Vue-cli,我在哪里声明我的全局变量?

Lou*_*ine 8 javascript global vue.js quasar

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

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

但我正在使用vue-cli(我实际上正在使用类星体)并且它为我声明了Vue实例,所以我不知道我应该说我想store成为一个"Vue-wide"全球变量.我在哪里指定?谢谢

Dak*_*ani 5

是的,您可以在入口点文件(main.js)中设置以下变量:

Vue.store= Vue.prototype.store = 'THIS IS STORE VARIABLE';
Run Code Online (Sandbox Code Playgroud)

然后像这样在您的vue实例中访问它:

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

您也可以在此处vue-docs中看到它

编辑1:

注释部分中有关类星体模板中“无入口点文件”的讨论中的讨论。

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

...
import routes from './routes'

Vue.prototype.a = '123';

Vue.use(VueRouter)
...
Run Code Online (Sandbox Code Playgroud)

然后,如果您将console.log登录到中App.vue,则如下所示:

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

现在,看看您的控制台: 在此处输入图片说明

您也可以App.vue在script标记中的文件中执行相同的操作。