vue组件中重新渲染的3种方式小结
改变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的时候,当前条件块里包含的元素会被销毁,如果包含的是组件,则组件对应的生命周期函数(beforeDestroy,destroyed等)会执行。当你设置为
true的时候,当前条件块里的元素会被重建,如果包含的是组件,则组件对应的生命周期函数(created,mounted等),计算属性,watch等会执行,相当于重新渲染。
vm.$forceUpdate()
这个方法用的不多,是强制更新视图。
到此这篇关于vue组件中重新渲染的3种方式小结的文章就介绍到这了,更多相关vue 重新渲染内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Element-ui树形控件el-tree自定义增删改和局部刷新及懒加载操作
这篇文章主要介绍了Element-ui树形控件el-tree自定义增删改和局部刷新及懒加载操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2020-08-08
vue单向以及双向数据绑定方式(v-bind和v-model的使用)
这篇文章主要介绍了vue单向以及双向数据绑定方式(v-bind和v-model的使用),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2023-04-04
vue vite之LogicFlow安装核心依赖及项目初始化详解
这篇文章主要为大家介绍了vue vite之LogicFlow安装核心依赖及项目初始化详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2023-01-01
vuejs使用axios异步访问时用get和post的实例讲解
今天小编就为大家分享一篇vuejs使用axios异步访问时用get和post的实例讲解,具有很好的参考价值。希望对大家有所帮助。一起跟随小编过来看看吧2018-08-08


最新评论