Vue 组件可以访问 App.vue 中的变量吗?
P粉491421413
P粉491421413 2024-01-06 09:54:21
0
2
389

我在 Vue.js 中有一个应用程序,其中有一个像这样的 App.vue:

<template>
  <div id="app">
    <router-view/>
  </div>
</template>

<script>
export default {
  name: 'App',

 data() {
    return {
      user: null,
    }
  },

  methods: {
       getUser() {
        axios 
        .get(`auth/user/`)
        .then(response => {
          this.user=response.data.pk
        })
      }
  },

  beforeMount() {
    this.getUser();
  },
}
</script>

我可以以某种方式从其他组件访问用户变量吗?我应该如何导出和导入它才能成功?

P粉491421413
P粉491421413

全部回复(2)
P粉549412038
  1. $root.someVariable

在 Vue 2 中工作,未在 3 中测试。

P粉488464731

你可以:

  1. 将其作为 prop 传递
    • 注意:要从子组件更改它,您应该发出一个事件告诉 root 更新它。不要尝试直接在子代中对其进行突变。
  2. 使用提供/注入
  3. 用户移至共享状态解决方案,例如VuexPinia
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板