vue视图不更新的原理是什么(vue3中数据更新了,但是视图没有更新的5中方案)
导读:vue 3.0 ref 和 Reactive 数据响应式,以及使用 Reactive 数据已更新但页面没有同步刷新异常 方案1:Vue 3.0 中我们使用 reactive( 定义的响应式数据的时候,当我们对象再次赋值,我们发现数据已经修改成功,但是页⾯并没有自动渲染成最新的数据;...
vue 3.0 ref 和 Reactive 数据响应式 ,以及使用 Reactive 数据已更新但页面没有同步刷新异常
方案1:Vue 3.0 中我们使用 reactive() 定义的响应式数据的时候 ,当我们对象再次赋值 ,我们发现数据已经修改成功 ,但是页⾯并没有自动渲染成最新的数据;这时我们可以改成 ref () 或者对 reactive() 绑定的数据类型下点功夫;
ref() 接受一个内部值并返回一个响应式且可变的 ref 对象 。ref 对象仅有一个 .value property ,指向该内部值
reactive() 主要时用来绑定一些复杂的数据类型 ,比如(对象 、数组) ;它不可以绑定普通的数据类型 ,否则会报错;如果我们需要绑定普通的数据类型 ,建议使用上面的 ref() 方案2: 直接在视图上使用v-if进行处理在修改值之后将元素销毁,然后在修改后的下一次DOM渲染完成时再显示出来,这样就会触发组件重新加载data的数据进行渲染,data中被修改的数据才是最新的 。
方案3:使用vue的强制刷新处理 <script setup> import { defineComponent , ref , computed , toRefs , getCurrentInstance} from vue const internalInstance = getCurrentInstance() //操作数据后更新视图 internalInstance.ctx.$forceUpdate() } </script>创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!