Vue组件强制刷新(重新渲染)的四种方案对比

Vue组件强制刷新(重新渲染)的四种方案对比Vue 的双向绑定用着确实方便 但自动档虽好 手动档也不是一无是处 在特定的情况下 还真的要手工触发 刷新 操作 目前有四种方案可以选择

Vue的双向绑定用着确实方便,但自动档虽好,手动档也不是一无是处;在特定的情况下,还真的要手工触发“刷新”操作,目前有四种方案可以选择:

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

前面两种种不多介绍了,我们重点介绍后面的两个:

force update

组件内置$forceUpdate方法,使用前需要在配置中启用。

import Vue from 'vue' Vue.forceUpdate() export default { 
    methods: { 
    handleUpdateClick() { 
    // built-in this.$forceUpdate() } } } 

key-changing

原理很简单,vue使用key标记组件身份,当key改变时就是释放原始组件,重新加载新的组件。

<template> <div> <span :key="key"> 
     span>  
      div>  
       template> <script> export default { 
        data() { 
        return { 
        key: 0 } }, methods: { 
        handleUpdateClick() { 
        this.key += 1 } } }  
        script> 
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/217736.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月18日 上午8:53
下一篇 2026年3月18日 上午8:53


相关推荐

  • springboot启动类–SpringApplication.run()详解

    springboot启动类–SpringApplication.run()详解前言实习的第一个项目是利用springboot完成一个需求,在项目搭建的过程中真正感受到springboot的强大,springboot的起步依赖以及自动配置特性简直不要太爽,在项目搭建的过程中解放了我们的小手。而springboot的启动也非常简单,只需要启动springboot的启动类,springboot会帮助我们准备所有的环境,包括server,监听器,装配spring的上下文等等,s…

    2025年9月3日
    9
  • Java list转为object_List集合转JSONObject

    Java list转为object_List集合转JSONObject写代码喜欢用Map拼接返回去给前端,这样得到的也是一个标准的JSON,今天先不说Map的优缺点,我们就来说说JSONObject的使用,我用的是阿里的fastjson,先上代码,当我们需要嵌套代码的时候,看需求:由于sessionData后面是{},所以后面的对象必须是一个JSONObject,如果是sessionData后面是[]就可以使用JSONArray。一般sessionDataExpir…

    2022年5月20日
    49
  • js拼接字符串练习(一)

    js拼接字符串练习(一)动态生成表格,通过用户输入的背景颜色、边框宽度、表格宽度、对齐方式、行高、内容来动态生成表格:&lt;!DOCTYPEhtml&gt;&lt;html&gt; &lt;head&gt; &lt;metacharset="UTF-8"&gt; &lt;title&gt;&lt;/title&gt; &lt;/head&gt; &lt;body&amp

    2025年7月10日
    10
  • 常量字符串过长的解决办法_编译异常和运行异常有哪些

    常量字符串过长的解决办法_编译异常和运行异常有哪些如果使用String str = “这是一个很长很长很长 你需要的字符串。”; 出现异常不能正常编译运行时,可以使用下方:StringBuilder sb = new StringBuilder();sb.append(“这是一个很长很长”);sb.append(“很长 你需要的字符串”);字符串太长或字符串其他情况下可使用 : StringBuilder sb = new StringBuilder()…

    2022年8月20日
    15
  • 【Python数据可视化】超星学习通助手后台数据的可视化处理

    【Python数据可视化】超星学习通助手后台数据的可视化处理Python数据可视化。

    2022年6月21日
    37
  • Vagrant基本命令详解

    Vagrant基本命令详解

    2021年11月9日
    44

发表回复

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

关注全栈程序员社区公众号