vue充电中

本文探讨了Vue中的v-if与v-show的区别,v-if通过删除DOM元素来控制显示,适合不频繁切换且内容丰富的场景,而v-show通过改变display样式,适合频繁切换。接着阐述了key的作用,它用于唯一标识节点,提高更新虚拟DOM的效率。接着对比了watch和computed的使用,watch用于监听数据变化并执行相应操作,包括数据、路由和props的改变,而computed是计算属性,具有缓存机制,适合多个值影响一个值的场景。最后总结了两者在功能、缓存、执行时机和使用场景上的差异。
摘要由CSDN通过智能技术生成

v-if 和 v-show区别

作用:都是控制元素隐藏和显示的指令

区别:

v-show: 通过display:none控制元素隐藏,只会编译一次;

v-if: 动态向dom树添加或删除dom元素,若初始值为false,不会编译,且不停的消耗和重建消耗性能。

应用: v-show: 适合使用在切换频繁显示/隐藏的元素上(切换开销小,初始开销大) ;v-if: 适合使用在切换不频繁,且元素内容很多,渲染一次性能消耗很大的元素上(切换开销大,初始开销小)

key的作用:

key给每一个节点做唯一标识,diff算法识别此节点。

作用:高效更新虚拟dom

watch和computed的区别以及使用案例

watch监听的范围

1.监听data中数据的变化 ,示例如下;

  var vm = new Vue({
    //......
    data: {
      name: "耿耿"
    },
    watch: {
      "name": function(newVal, oldVal) { 
       
      }
     *注释 : newVal:数据改变后的值, oldVal:数据改变之前的值*
    }
  })

2. 监听路由的改变;

var vm = new Vue({
    watch: {
      "$route.path": function() { }
    }
  })

 3.** 监听props中接受的数据的变化**

 props: {
    basicData: {
      type: Object,
      default: ()=>{}
    }
  },
   watch: {
      'basicData.id':{
        handler(newData,oldData){
            console.log(ne
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值