当前位置:  开发笔记 > 编程语言 > 正文

Vue.js从子组件访问父/根数据

如何解决《Vue.js从子组件访问父/根数据》经验,为你挑选了1个好方法。

我的main.js文件引用#appel,然后在ready它上面向我的API发送HTTP请求,以根据从中获取的令牌获取用户的数据localStorage.

它在返回响应时设置数据:

this.$http.get('/me', function(data) {
  this.$set('me', data.me);
})

在上述请求返回响应后,data现在看起来像这样:

data = {
  me: {
    email: 'email@email.com',
    name: 'Email Email'
  }
}

然后在main.js我实现的文件中vue-router,我的应用程序然后被引导.它呈现我的侧面导航和其他组件,并在中间有一个主要内容.

Ex(app.html渲染自main.js):

在我的导航组件中,以及由我们呈现的组件中vue-router,如何访问我想要全局化的数据,例如me在根组件中设置的数据?

我希望能够访问用户的电子邮件等数据并在整个应用程序中命名.



1> Jeff..:

编辑::查看新包Vuex - https://github.com/vuejs/vuex.这是一个可以从任何组件中访问的应用程序数据的高级存储.这绝对是现在最好的选择.

原始答案:


我能想到的一些选择:

1)将当前用户数据传递给需要它的每个组件.这会有点烦人,但保持组件不需要任何外部信息来执行其功能的原则.

2)用于this.$parent将组件链向上移动到根组件,在那里您将能够访问所需的数据.

3)只做一个全局变量.将其声明在Vue范围之外,并可以随时随地访问它.


对于选项一,你说的是把它传递给`prop`?对于选项二,我试过这个,但```是未定义的`$ parent`.可能是因为在HTTP请求的响应设置之前它没有设置吗?看起来像选项2将是我尝试过的最好的但是在控制台中记录它会返回`undefined`.
推荐阅读
殉情放开那只小兔子
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有