vue中 v-if、v-show(学习笔记)

文章详细阐述了Vue框架中v-if和v-show指令的相同点和不同点,它们都能根据表达式控制元素显示,但v-show通过改变CSS的display属性,不涉及DOM的增删;而v-if则直接操作DOM。在频繁切换时推荐使用v-show以节省性能,不频繁时v-if更为合适,因为它避免了频繁的DOM操作。
摘要由CSDN通过智能技术生成

相同点:

在 vue 中 v-show 与 v-if 的作用效果是相同的,根据表达式的真假来控制元素是否在页面中显示

  • 当表达式都为 false 时,不显示

  • 当表达式结果为 true 时,显示

不同点:

v-show 与 v-if 的作用效果虽然相同,但是操作原理不同

  • v-show是操作该元素css样式中的display:none来实现元素是否隐藏,没有操作dom元素

  • v-if是操作dom元素,添加或删除这个dom元素来实现存在或不存在效果

  data(){
        return{
            //不使用return包裹的数据会在项目的全局可见,会造成变量污染。
            //使用return包裹后数据中变量只在当前组件中生效,不会影响其他组件。
             isShow:true //表达式的值为true
        }
  },
      // 点击事件方法
      Play(){
          // 如果表达式为true
          if(this.isShow == true){
              // 表达式结果取反
              this.isShow = false;
          }else{
              // 表达式为false时 取反为true
              this.isShow = true;
          }
      },
       //   Play(){
       //        // 表达式取反
       //        this.isShow = !this.isShow
       //       }

这次图片的交给v-if来做,会是什么样呢

v-if和v-show 在实际业务中也可以使用三元表达式来进行

<img src="../assets/bofang.jpg" v-if="isShow== true ? true : false" @click="Play">

实际中如何选择v-if和v-show?

频繁切换显示元素推荐使用v-show,只是样式的更改不会影响性能,若是不频繁可以用v-if,频繁操作dom树会浪费性能

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值