uniapp 踩坑一个月 ,vue 监听器 监听对象失效问题
我是做了个新闻缓存:
注意对比红绿色:
绿色:之前直接往对象塞,
红色:就是因为这个!坑跨过去了。
吧请求的数据传递给组件渲染
组件接受到,监听器监听到复赋值然后渲染:
回头看:
如果绿色的话,逻辑是通的,但是! 监听器深度监听的时候不会监听到你长度发生改变!即使你有deep深度监听【也能说错,如果错!请指正!】,这个问题苦苦困扰了我好久好久 ,搞得我直接吧缓存干掉,今天早上我又回去优化,重新构建代码,
最后一个早上也没成功,翻阅了好多资料【自己Vue基础不扎实】,发现了一句话:
如果在实例创建之后添加新的属性到实例上,它不会触发视图更新。
那么!我就知道了,为什么监听器只监听到一次,后面长度、值变化他都不管了,因为 即使你对象发生变化也好,Vue还是没有 时实 的传递给 “新闻容器组件” ,那么:
用$set即可,用了他就会更新响应式达到时实效果。
有错误球球指正!!!!!千万!!!!!一起交流一起学习!
完.
2022年7月12日 15:02:44
其实解决这个很简单,也不用用到this.$set
数组他不是不会事实更新,因为我是点击了选项,然后去加载数据,数据回来了渲染,恰好渲染的太快,数据加载太慢,造成的,所以我们可以:
写法:
加上等待框,让等待框转,这时候渲染的是等待框,到时候你数据回来了,你再去渲染数据,那就完美解决。
其实早就解决了,一直找不回来这个博客,现在找到了,就顺便写下。
2022年10月15日 13:57:27:参考别人总结的方法,随便看到记录一下
问题:
1)因为父组件有缓存等因素,子组件创建后没有释放,传入参数无效
2)父组件的tab切换, 导致子组件一直存在, 没有刷新
解决方法:
方案一: 只要让子组件强制刷新就可以获取到props传递过来的值了, 使用v-if的特性(销毁和重建)可以强制刷新子组件
如果是刷新某个子组件,则可以通过v-if指令实现。我们知道,当v-if的值发生变化时,组件都会被重新渲染一遍。因此,利用v-if指令的特性,可以达到强制刷新组件的目的。
方案二: 使用this.$forceUpdate强制重新渲染
如果要在组件内部中进行强制刷新,则可以调用this.forceUpdate强制重新渲染组件,从而达到更新目的。
本文来自博客园,作者:咸瑜,转载请注明原文链接:https://www.cnblogs.com/bi-hu/p/15686948.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!