• vue computed和watch的区别 v-if和v-show的区别 v-if和v-for优先级的问题


    vue 区分题

    computed 与 watch

    computed 与 watch的概念

    学习笔记:https://blog.csdn.net/qq_41370833/article/details/123745232

    区别

    -computedwatch
    意图根据已有属性计算出新的属性监视已有属性
    写法conputed中的函数必须将新的属性用return返回watch中的函数不是必须要用return
    功能1.初始化时调用
    2.计算所依赖的数据发生变化
    1.默认第一次加载不做监听,可以通过设置immediate让初始化时调用
    2.监控数据发生变化时调用
    是否支持异步不支持异步,当computed内有异步操作是无法监听到数据变化的
    是否有缓存√ 页面重新渲染,值不变时,会直接返回之前的计算结果,不会重新计算× 没有缓存,页面重新渲染时,值不改变时也会执行

    如果一个值依赖多个属性(多对一),用computed肯定是更加方便的。
    如果一个值变化后会引起一系列操作,或者一个值变化会引起一系列值的变化(一对多),用watch更加方便一些。

    v-if 和 v-else

    • v-if值为false时,在该位置创建一个注释节点,用来标识元素在页面中的位置。在值发生改变的时候,通过diff,新旧组件进行patch,创建DOM节点,从而动态显示隐藏。
    • v-show值为false时,通过设置元素的样式,display:none来控制元素是否展示。
    -v-ifv-show
    本质操作DOM元素进行切换显示设置css样式进行切换显示
    首次渲染开销较低较高
    切换开销较高较低
    适用场合不频繁切换频繁切换
    对生命周期的影响会影响不会影响
    • 当v-if指令附属于普通元素时,v-if指令状态变化会使得父组件的dom发生变化,父组件将会更新视图,所以会触发父组件的beforeUpdateupdated钩子函数。
    • 当v-if指令令附属于组件时,v-if指令状态变化对父组件的影响和上一条一致,但是对于本身组件的生命周期的影响是不一样的。
      • v-if从false切换到true时,会触发beforeCreatecreatedbeforeMountmounted钩子。
      • v-if从true切换到false时,会触发beforeDestroydestroyed钩子函数。
  • 相关阅读:
    YOLO改进系列之注意力机制(EffectiveSE模型介绍)
    ld-linux-armhf.so.3
    网站有上传后门木马的漏洞怎么解决
    【无标题】
    未来市场对Java的需求高吗?
    软考 系统架构设计师系列知识点之边缘计算(2)
    使用adb shell 命令接收串口发送过来的16进制数据 或者 发送16进制数据
    leetcode - 1838. Frequency of the Most Frequent Element
    文本语音互相转换系统设计
    Python数据容器通用操作
  • 原文地址:https://blog.csdn.net/qq_41370833/article/details/125415990