Vue数组踩坑日记props对象里面的部分数组改变无法重新渲染

首先声明一个组件然后往组件里面丢对象
Vue数组踩坑日记props对象里面的部分数组改变无法重新渲染_第1张图片
html是在渲染以后修改数组
Vue数组踩坑日记props对象里面的部分数组改变无法重新渲染_第2张图片
js代码更改对象中的数组
Vue数组踩坑日记props对象里面的部分数组改变无法重新渲染_第3张图片
**

  1. vue有说明在数组直接通下标改变是不会被观察到的所以我试了(vue.set但是我并不是通过下标改变而是直接改变整个组数所以一样没用)**

2. 然后我又试试了强制更新this.$forceUpdate()这个倒是生效

  1. 后面我又尝试使用push来试试结果一样失败了。
    但是具体为什么还是没找到原因,后面去观察了一下两个数组再赋值前是不是有什么不同,真的发现了不同,一个数组里面带了Observer这种可以正常被观察到,并且重新渲染Vue数组踩坑日记props对象里面的部分数组改变无法重新渲染_第4张图片

而另外一种不带Observer属性的是无法被观察到的
Vue数组踩坑日记props对象里面的部分数组改变无法重新渲染_第5张图片

这个是因为父组件根本没有这个属性 zbyaoqiu

!是我这个按钮在被我点击的时候才设置的属性,本属性属于组件自己,因为组件的特性改变组件自己的属性并不会影响到父组件。所以只要在父组件创建的生命周期cerated设置属性就可以了

你可能感兴趣的:(Vue)