render渲染出来的组件无法使用Vuex中的全局数据

问题是这样的:我用render渲染了一个组件FormTask,FormTask中有个子组件treeButton使用了Vuex中的全局数据。
clipboard.png

然后浏览器报
clipboard.png

原因就在于render渲染出来的组件的this已经变了,不是原先Vue实例了,所以this找不到store属性,更拿不到其中的全局数据了。

deviceParentList () {
        console.log('treeButton', this)
        return this.$store.getters['getDeviceTree']
      }

问题都知道,但是就是不知道怎么解决,自己想的办法就是在渲染FormTask时往prop传入要使用的全局数据,再FormTask传给treeButton,但是这样的操作好愚蠢,不知道各位大神有没有更好的解决办法,感激不尽!!!

阅读 4.1k
2 个回答

在render 外面var that=this 在render里面用that访问vuex

楼主这个问题解决了吗? 我现在也遇到麻烦,render获取不到vuex的数据,而且我的render出来的组件,里面还有一层render...

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题