上次封装简单的公共组件,调用时我碰到了一种情况:
点击后弹出弹框,获取相应数据,在弹框中我使用了上篇文章封装的一个小的复选框
可以看到复选框中没有选项被勾中,但是是存在数据的
但是在控制台中获取到的后端数据里可以看到,这里两个字段是有返回值的,但是没有渲染上去
我调试查了很久,才排查出来,原来是父组件将请求到的接口数据传递给子组件时,数据还没到子组件就渲染完了,子组件接收到的props为’ ’
最后给上解决方案:
给子组件加上给v-if:只有在有该数据的时候才开始创建改组件,这样就可以保证props接受到父组件传过来的数据了
注意:判断这里也有一个坑,就是if判断里面空对象和空数组({},[])也是true,会直接创建组件,我这里一下子没转过来,也浪费了很多时间,定义的这个变量就是一个数组,直接就通过了,后面用.length属性来判断后解决了
细心还是很重要的