vue created 异步请求,赋值出错

我有两个子父组件,父组件在create中进行异步请求获取的list,使用prop传递给子组件渲染数据,但到了子组件,这个list就是undefined了;如果这个list在父组件的data中初始化为空数组,到了子组件这个list就是空数组;也就是在create中对list赋值无效。

父组件xhr请求代码.png

子组件代码.png

父组件调用.png

使用webpack部署,修改文件热加载后是可以正常显示的,但是,刷新后却不行。

阅读 6.4k
5 个回答

问题解决了,使用watch监听数据变化后再进行组件渲染,原因应该是dom渲染完毕但是数据没有更新,导致组件内获得到的数据为空

不要把list放到obj里,这会导致vue监听不到list的变化,把list放到根属性里

因为子组件在父组件之前渲染,一般的处理是提前在data里面写一个没数据但有结构的值,然后异步请求覆盖这个值

用this.$set()赋值吧,应该是因为监测不到对对象里面的属性赋值的原因

好像没必要this.$nextTick(),你把$nextTick()删了试试

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