定义子组件,在使用子组件时,向子组件传递数组类型的参数,子组件接收到数组之后对数据进行渲染。
而父组件的数值是不断变化的,点击按钮一次,获取一次值。
当数组不为空时,正常渲染,但是数组为空时,会保留上一次渲染。
问题刚遇到的时候,在网上看了很多文章,自己也做了很多尝试。
一、尝试一
- 1.在父组件添加v-if判断,当数组为空时,不进行子组件的渲染。
虽然这个方式可以解决问题,但是在项目中大量使用了该组件,那就需要在使用子组件的时候大量的添加判断,这种做法直接pass。
二、尝试二
- 2.在子组件中添加监听,大家可以看看这个大佬的博客—>vue中父组件传值给子组件,父组件值改变,子组件不能重新渲染,写的很好,但是对我不适用。
在监听的时候可以打出从父组件传递过来的值,并且是实时更新的,但是就是不能渲染,无解。
三、尝试三
- 3.在子组件渲染之前添加v-if判断ÿ