老师,vuex的getters

来源:3-1 准备工作说明

西兰花伟大炮

2019-01-29

老师,为啥我从getters里返回的对象在created钩子里打印是一个observe对象,有数据,放在模板里是undefined

写回答

2回答

Sam

2019-01-29

你好,能否提供下你出错的源码,这里我先简单讲解一下getters是混入到computed计算属性中的原理:

计算属性是在created钩子调用之前进行初始化的,源码如下:

initInjections(vm) // resolve injections before data/props
initState(vm)
initProvide(vm) // resolve provide after data/props
callHook(vm, 'created')

其中InitState(vm)方法中会调用initComputed()初始化计算属性,之后再调用created钩子,所以在created钩子中查询vuex的getters里的数据是没问题的。而模板中调用vuex中的数据,如:

<div>{{offsetY}}</div>

模板中的{{offsetY}}会在created之后的mounted挂载步骤才执行,所以通常是可以正常获取到数据的,不知道你具体碰到的问题是什么

1
1
西兰花伟大炮
老师,麻烦你看看呢
2019-01-29
共1条回复

西兰花伟大炮

提问者

2019-01-29

//img.mukewang.com/szimg/5c4fd3a700013f5910620473.jpg//img.mukewang.com/szimg/5c4fd3d70001169d08200486.jpg在p标签里面是undefined,有点懵逼

0
2
西兰花伟大炮
回复
Sam
老师,那是在render函数里,用的是jsx,不加是报错的
2019-01-29
共2条回复

Vue 实战商业级读书Web APP完整项目

Vue全家桶+最新前端技术+前后端分离架构,完整项目流程

1610 学习 · 1951 问题

查看课程