1.数组未改变,但是watch监听到了
原理:数组是引用数据类型,重复调用,虽然数组内容没变但是数组的地址改变了,所以可以监听到;
解决方案:调用接口获取数据后使用对象字符串比较接口数据与数组内容是否一致,若一致再给数组赋值赋值
2.watch监听变量字符串是否有值,若有则否调接口,但是变量明明有值却监听失败了
<child v-if="变量" :msg=' 变量'>
原理:执行顺序beforeCreate ->inject -> Props -> Methods -> Data -> Computed -> Watch ->provide-> created
父组件得到更新后的变量值为true时,生成子组件dom,得到this.props.msg的值为值,此时还没watch监听;watch监听获取的初始值就是true,所以监听不到变化
解决方案:用v-show代替v-if或者把v-if写在子组件里
网友评论