码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • vue2/vue3 v-if与v-show的区别 | 触发的生命周期


    文章目录

      • v-if 和 v-show 的区别
      • 触发的生命周期
        • 普通变量
        • 组件
          • v-if vue2/vue3行为基本一致
          • v-show

    v-if 和 v-show 的区别

    • v-if="false"时,在该位置创建一个注释节点,用来标识元素在页面中的位置。在值发生改变的时候,通过diff,新旧组件进行patch,创建DOM节点,从而动态显示隐藏。
    • v-show="false"时,通过设置元素的样式,display:none来控制元素是否展示。
    -v-ifv-show
    本质操作DOM元素进行切换显示设置css样式进行切换显示
    首次渲染开销较低较高
    切换开销较高较低
    适用场合不频繁切换频繁切换
    对生命周期的影响会影响不会影响

    触发的生命周期

    普通变量

    vue2/vue3行为一致,v-if和v-show都会导致父组件更新视图,所以会触发父组件的beforeUpdate和updated钩子函数

    组件

    vue3的生命周期函数beforeDestroy与destroyed变成了beforeUnmount与unmounted

    v-if vue2/vue3行为基本一致

    vue2中v-if包裹子组件

    • 从false转为true
      父beforeUpdate -> 子beforeCreate -> 子created -> 子beforeMount -> 子mounted -> 父updated
    • 从true转为false
      父beforeUpdate -> 子beforeDestroyed -> 子destroyed -> 父updated

    vue3中v-if包裹子组件:与vue2相同,个别钩子函数名不同

    • 从false转为true
      父beforeUpdate -> 子beforeCreate -> 子created -> 子beforeMount -> 子mounted -> 父updated
    • 从true 转为false
      父beforeUpdate、子beforeUnmount、unmounted、父updated。
    v-show

    vue2中v-show包裹子组件

    • 从false转为true
      父beforeUpdate -> 父updated
    • 从true转为false
      父beforeUpdate->父updated

    vue3中v-show包裹子组件:会触发子组件updated

    • 从false转为true
      父beforeUpdate -> 子beforeUpdate->子updated->父updated
    • 从true转为false
      父beforeUpdate -> 子beforeUpdate-> 子updated->父updated
  • 相关阅读:
    3.4 这些都是小红书的流量入口【玩赚小红书】
    C++算法之旅、09 力扣篇 | 常见面试笔试题(上)算法小白专用
    LeetCode 62. 不同路径
    React Hooks概述及常用的React Hooks介绍
    .gitignore 文件
    Linux脚本之监控系统内存使用情况并给予警告
    vector与list的区别与应用?
    华为云云耀云服务器L实例评测|docker 常用操作命令
    日常问题: SQL优化
    工具类实现导出复杂excel、word
  • 原文地址:https://blog.csdn.net/qq_41370833/article/details/133275454
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号