Vue强制刷新子组件

四种方法:

  1. 刷新整个页面(最low的,可以借助route机制)
  2. 使用v-if标记(比较low的)
  3. 使用内置的forceUpdate方法(较好的)
  4. 使用key-changing优化组件(最好的)

第一种方法一般不做考虑;

第二种方法,好处在于能够直接触发组件的完整生命周期

第三种方法,是迫使vue组件重新渲染,实际上指的是强制重启render函数。即调用该方法后 只会触发beforeUpdate、updated 这两个生命周期,而且只会影响当前组件以及其插槽内容.但是这种做法并不推荐,官方说如果你现在的场景需要用forceUpdate方法 ,那么99%是你的操作有问题,如上data里不显示声明对象的属性,之后添加属性时正确的做法时用 vm.$set() 方法,所以forceUpdate请慎用。

第四种方法,是最优解,虽然麻烦点,但是对性能渲染要求不高,实现无缝更新子组件。优先使用

Vue强制刷新子组件

上一篇:P3868 [TJOI2009] 猜数字


下一篇:leetcode 103二叉树的锯齿形层序遍历