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

问题是这样的:我用render渲染了一个组件FormTask,FormTask中有个子组件treeButton使用了Vuex中的全局数据。
https://img1.mukewang.com/5b94ef3b0001c09404470390.jpg

然后浏览器报
https://img1.mukewang.com/5b94ef490001900d07680387.jpg

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

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

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


犯罪嫌疑人X
浏览 1558回答 2
2回答

慕仙森

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

动漫人物

在render 外面var that=this 在render里面用that访问vuex
打开App,查看更多内容
随时随地看视频慕课网APP