解决vux的popup-picker不响应变化的问题

前置知识

如果父组件传入子组件值,并且子组件监听的话,也不好用,因为vux源码我都改成过这样, 父组件的值改变时,vux里面的watch根本不生效, 应该有某种只读保护。

虽然如此,即使它逃出了vue的onupdate这个流程, 但是它还是逃不过vue的组件的渲染mounted和 created这个流程,所以我们用v-if ,在父组件改变值时, 利用v-if 改成false 在改成true, 它就会被重新渲染,这样即使它是只读的,但是它也逃不过被重新初始化的命运

还有一个坑就是 vux子组件对我们传入的data数组不是深度监听,要改变引用的指向它才能监听,并且就连v-if都不能改变。
我搜索了一下 原因应该是即使是v-if 它的这个刷新也是有条件的,
1. 如果数据是基本类型存在栈里面,则v-if会刷新,
2. 如果数据是对象存在堆中, v-if倾向于看到栈内存指向改变时才刷新, 说白了基本上data()里面的内容,都是vue在管,你以为改变了data()里面的数据,但是vue改变不会采用,vue是有缓存的,它可能更倾向于选择缓存

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值