Vue中,$forceUpdate()的使用

在Vue官方文档中指出,$forceUpdate具有强制刷新的作用。

那在vue框架中,如果data中有一个变量:age,修改他,页面会自动更新。

但如果data中的变量为数组或对象,我们直接去给某个对象或数组添加属性,页面是识别不到的

复制代码
<template>
  <p>{{userInfo.name}}</p>
  <button @click="updateName">修改userInfo</button>
</template>

<script>
  data(){
    return{
      userInfo:{name:'小明'}
    }
  },
  methods:{
    updateName(){
      this.userInfo.name='小红'
    }
  }
</script>

updateName函数中,我们尝试给userInfo对象修改值,发现页面其实并没有变化

那这时候有两种解决方法:

方法一

复制代码
methods:{
  updateName(){
    this.userInfo.name='小红'//在此时,确实已经将userInfo对象修改完成
    console.log(this.userInfo.name);//输出结果: 小红
    this.$forceUpdate();//在这里,强制刷新之后,页面的结果变为'小红'
  }
}

方法二:

复制代码
methods:{
  updateName(){
    this.$set('userInfo',name,'小红');
  }
}
相关推荐
孟陬5 小时前
【译+注】我用 10 种框架开发了同款应用:移动端性能框架评估
面试·前端框架
q***49865 小时前
MySQL数据的增删改查(一)
android·javascript·mysql
我有一个object5 小时前
uniapp上传文件报错:targetSdkVersion设置>=29后在Android10+系统设备不支持当前路径。请更改为应用运行路径!
前端·javascript·vue.js·uniapp
北极糊的狐5 小时前
关于jQuery 事件绑定,记录常用事件类型及核心注意事项
前端·javascript·jquery
星空的资源小屋5 小时前
极速精准!XSearch本地文件搜索神器
javascript·人工智能·django·电脑
_Kayo_5 小时前
vue3 computed 练习笔记
前端·vue.js·笔记
CodeSheep5 小时前
VS 2026 正式发布,王炸!
前端·后端·程序员
无奈何杨5 小时前
CoolGuard事件查询增加策略和规则筛选,条件结果展示
前端·后端
梦里不知身是客116 小时前
正则表达式常见的介绍
前端·javascript·正则表达式
初学小白...6 小时前
HTML知识点
前端·javascript·html