vue递归组件 子组件读取不到item

clipboard.png
在<second-stage>中无法读取到item.children;但是在{{item.children}}中却能到,这是什么原因??谢谢大佬

阅读 3.8k
3 个回答

通过截图来看,你的data里面的每个item一开始的时候应该是没有children属性的,也就是item.childrenundefined,所以在v-if的时候对item.children.length的求值就会报错,那么v-if里面的second-stage可能就不会继续渲染了;

{{ item.children }}可以是因为一开始是空,然后有数据了,这个就是数据了,这个过程中并不会引发错误。

你试试把v-if的判断语句换成:

v-if="item.children && item.children.length"

先把错误消除掉。

data的数据结构应该是有问题

item.children的类型呢

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