vue中$forceUpdate的使用

vue中的$forceUpdate是强制更新的意思

数据的绑定都不用我们操心,例如在data中有一个name的变量,你修改它页面的内容就会自动发生变化。

但是如果对于一个复杂的对象,例如一个对象数组,你直接去给数组上某一个元素增加属性,vue就无法知道发生了改变。

//父组件 
"info">
 data() {
    return {
      info:{}
    }
  },
//子组件
info:{{ info }}
props:{ info:Object }, methods: { headleChange(e){ this.info.name = e.target.value; } },

  我们尝试直接给info.name赋值,发现页面上没有效果;

    那么就是利用$forceUpdate了,因为你修改了数据,但是页面层没有变动,说明数据本身是被修改了,但是vue没有监听到而已,用$forceUpdate就相当于按照最新数据给渲染一下。

方法1:

 headleChange(e){
    this.info.name = e.target.value;
    this.$forceUpdate()
}

方法2:

 headleChange(e){
      this.$set(this.info,'name',e.target.value) 
}

 

转载于:https://www.cnblogs.com/caoruichun/p/10769242.html

你可能感兴趣的:(vue中$forceUpdate的使用)