vue数据更新但视图(DOM)不刷新解决办法
时间:2024-03-26 20:51:05 来源:网络cs 作者:淼淼 栏目:防关联工具 阅读:
第一种:强制更新dom
<div v-if="isTrue">{{num}}</div>data(){ return { isTrue: true, num: 0 }}aa () { this.isTrue = false // 强制刷新视图 this.num++ this.isTrue = true // 强制刷新视图}
第二种:vue.$set(要操作的对象或数组, 对象key/索引, 修改后的值)
// vue.$set 修改对象或数组的数据主要是添加响应式getter和setter让其拥有数据响应的特性// this.$set( target, propertyName/index, value ) // vue 中this及vue// 例子1: 比如修改name值没有生效this.form.name = "111" // 等同于 ==>const name = "111"this.$set(this.form, 'name', '111')// 或this.$set(this.form, 'name', name)// 例子2:修改数组let arr =[{name: "name1", sex: "男"},{name: "name2", sex: "男"}]this.$set(arr, 1, {name: "name2", sex: "女"})
第三种: vue.$forceUpdate()
// 赋值之后强制更新视图如aa () { this.form = { a: 'a', b: 'b' } // 但是dom没有发生变化 数据赋值之后加上 this.$forceUpdate()}
对此有什么疑问 或者 其它前端面临的问题都可以来欢迎评论 在下知道的定会帮你回答希望能够帮到你 (#^.^#)
本文链接:https://www.kjpai.cn/news/2024-03-26/149199.html,文章来源:网络cs,作者:淼淼,版权归作者所有,如需转载请注明来源和作者,否则将追究法律责任!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。