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,'小红');
  }
}
相关推荐
风中凌乱的L5 小时前
vue canvas标注
前端·vue.js·canvas
拉不动的猪5 小时前
什么是二义性,实际项目中又有哪些应用
前端·javascript·面试
海云前端15 小时前
Webpack打包提速95%实战:从20秒到1.5秒的优化技巧
前端
烟袅5 小时前
LeetCode 142:环形链表 II —— 快慢指针定位环的起点(JavaScript)
前端·javascript·算法
梦6505 小时前
什么是react?
前端·react.js·前端框架
zhougl9965 小时前
cookie、session、token、JWT(JSON Web Token)
前端·json
Ryan今天学习了吗5 小时前
💥不说废话,带你上手使用 qiankun 微前端并深入理解原理!
前端·javascript·架构
高端章鱼哥5 小时前
前端新人最怕的“居中问题”,八种CSS实现居中的方法一次搞懂!
前端
冷亿!6 小时前
Html爱心代码动态(可修改内容+带源码)
前端·html
Predestination王瀞潞6 小时前
Java EE开发技术(第六章:EL表达式)
前端·javascript·java-ee