vue组件中重新渲染的3种方式小结

 更新时间:2023年10月03日 10:56:40   作者:IT枫斗者  
本文主要介绍了vue组件中重新渲染的3种方式小结,主要包括改变key,v-if,vm.$forceUpdate()这三种,具有一定的参考价值,感兴趣的可以了解一下

改变key

  • 这个是最推荐的。因为vue是通过虚拟Dom算法来判断元素的变化,是否变化的核心是通过判断新旧元素的key值是否变化。如果你的key是变化的,则重新渲染该元素,如果key没变,则不会重新渲染。

  • 所以如果你想让你的组件重新渲染,你给组件加上key属性,然后在需要重新渲染的时候,改变key的值就行。

  • <template>
      <div class="home">
        <el-button @click="freshKey">test</el-button>
        <aComp :key="key"></aComp>
      </div>
    </template>
    <script>
    import aComp from '@/components/aComp'
    export default {
      components: {
        aComp
      },
      data () {
        return {
          key: 0
        }
      },
      methods: {
        freshKey () {
          this.key++
        }
      }
    }
    </script>

v-if

  • 我们用的指令中,v-if也是比较多的。

  • 当你设置为false的时候,当前条件块里包含的元素会被销毁,如果包含的是组件,则组件对应的生命周期函数(beforeDestroydestroyed等)会执行。

  • 当你设置为true的时候,当前条件块里的元素会被重建,如果包含的是组件,则组件对应的生命周期函数(createdmounted等),计算属性,watch等会执行,相当于重新渲染。

vm.$forceUpdate()

  • 这个方法用的不多,是强制更新视图。

 到此这篇关于vue组件中重新渲染的3种方式小结的文章就介绍到这了,更多相关vue 重新渲染内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 一文教你如何优雅的控制全局loading的显示

    一文教你如何优雅的控制全局loading的显示

    在我们的平时的工作中,在前后端交互的时候,为了提高页面的观赏性和用户的体验,我们会在页面上添加loading来阻止用户操作来等待接口的返回,这篇文章主要给大家介绍了关于如何优雅的控制全局loading显示的相关资料,需要的朋友可以参考下
    2022-01-01
  • Vue+Flask实现图片传输功能

    Vue+Flask实现图片传输功能

    这篇文章主要为大家详细介绍了Vue+Flask实现图片传输功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-04-04
  • vue+elementUI的表格最后一行合计自定义显示方式

    vue+elementUI的表格最后一行合计自定义显示方式

    这篇文章主要介绍了vue+elementUI的表格最后一行合计自定义显示方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • Vue请求后端接口导出excel表格方式

    Vue请求后端接口导出excel表格方式

    这篇文章主要介绍了Vue请求后端接口导出excel表格方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-04-04
  • Vue+Node.js实现Token无感刷新的全流程指南

    Vue+Node.js实现Token无感刷新的全流程指南

    这篇文章主要为大家详细介绍了Vue+Node.js结合Axios实现Token无感刷新的全流程,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2025-11-11
  • vue实现div可拖动位置也可改变盒子大小的原理

    vue实现div可拖动位置也可改变盒子大小的原理

    这篇文章主要介绍了vue实现div可拖动位置也可改变盒子大小,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-09-09
  • Vue项目三级联动路由跳转与传参的思路详解

    Vue项目三级联动路由跳转与传参的思路详解

    这篇文章主要介绍了Vue项目三级联动的路由跳转与传参的思路详解,本文给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧
    2024-08-08
  • js 实现拖拽排序详情

    js 实现拖拽排序详情

    这篇文章主要介绍了js 实现拖拽排序,拖拽排序对于小伙伴们来说应该不陌生,平时工作的时候,可能会选择使用类似Sortable.js这样的开源库来实现需求。但在完成需求后,大家有没有没想过拖拽排序是如何实现的呢?感兴趣得话一起来看看下面文章得小心内容吧
    2021-11-11
  • 使用vue制作滑动标签

    使用vue制作滑动标签

    这篇文章主要为大家详细介绍了使用vue制作滑动标签,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-09-09
  • Vue的路由动态重定向和导航守卫实例

    Vue的路由动态重定向和导航守卫实例

    下面小编就为大家分享一篇Vue的路由动态重定向和导航守卫实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-03-03

最新评论