本文介绍: 对此有什么疑问 或者 其它前端面临的问题可以来欢迎评论 在下知道的定会帮你回答希望能够帮到你 (#^.^#)第二种:vue.$set(要操作对象数组, 对象key/索引, 修改后的值)第三种: vue.$forceUpdate()第一种:强制更新domvue数据更新视图刷新解决办法

第一种:强制更新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://blog.csdn.net/weixin_49315886/article/details/130062654

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_14911.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注