请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

老师,vuex的getters

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

正在回答 回答被采纳积分+3

2回答

Sam 2019-01-29 12:10:58

你好,能否提供下你出错的源码,这里我先简单讲解一下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 回复 有任何疑惑可以回复我~
提问者 西兰花伟大炮 2019-01-29 12:18:12

https://img1.sycdn.imooc.com//szimg/5c4fd3a700013f5910620473.jpghttps://img1.sycdn.imooc.com//szimg/5c4fd3d70001169d08200486.jpg在p标签里面是undefined,有点懵逼

0 回复 有任何疑惑可以回复我~
  • Sam #1
    麻烦你把源码传给我
    回复 有任何疑惑可以回复我~ 2019-01-29 12:21:15
  • 提问者 西兰花伟大炮 回复 Sam #2
    老师,那是在render函数里,用的是jsx,不加是报错的
    回复 有任何疑惑可以回复我~ 2019-01-29 12:23:03
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信