前言
当页面数据全部请求完毕,但用户操作导致数据改变时,视图并未按照最新数据进行更新。
有时候,我们动态改变数据的时候发现视图并未改变,(或者h5改变小程序并为改变)
常见于在 methods函数或其他位置中,改变data数据的时候,虽然数据变了,但视图没有更新,
本文提供两个解决方案,我上uni-app付费花了9.9元购买,(如下截图)
在这里插入图片描述


真的付钱了 好气好气
100%解决该问题,非常好用,
比如下面的代码,给data赋值后并没有在页面上有反应(实际console打印数据已经变了)∶
1 this.name = ‘最新值';
2 console.log(this.name)//最新值3
3 //但页面上却还是原来的值、、(案列、或者数组元素实际已经修改,但视图并为修改)
解决方案
第一种情况:
// 监听用户更改昵称
api function()
{
// 重新赋值
this.name = '最新值';
// 强制更新
this.$forceUpdate()
}
第二种情况:
(这里是我当时花费了9.9并没有解决掉办法,气死我了当时。)
办法就是,你修改得内容很可能是在组件上 ,在组件上得话第一种方法似乎是不会起到效果得、所以我当时想到得办法是 更新父级传入得数据list
子组件:
this.$emit('listUpdate',this.list); //数据返回父级重新更新数据
父页面:
//组件
<xxx :list="list" @listUpdate="listUpdate"></xxx>
methods: {
//list列表跟新
listUpdate(e){
this.list = e;
// console.log('listUpdate',e)
},
}
//就这样两种解决方案 100%是可以解决这种视图不更新得情况,拿走不谢 我tm
//真的foul1

本文探讨了在uni-app中遇到数据改变但视图未更新的问题,提供了两种解决方案,尤其针对在组件中修改数据的情况。作者分享了在尝试解决此问题时的经历,指出更新父组件传递的数据可以有效解决子组件数据不刷新的问题。

3万+

被折叠的 条评论
为什么被折叠?



