v-if和v-show的用法

在观察做搜索框组件的清除键时,对于清除键的隐藏(即有内容时出现,没内容时隐藏),一开始采用的是检听器语法,通过检测input的值是否为空值,通过一个函数更改button的display属性,来完成这项任务。但是在阅读vue的语法过后我看到了更加简单的方法,即通过v-if的语法进行button的渲染。(当然这里也可以用v-show的语句)

       watch: {
    value(newval, oldval) {
      console.log(newval, oldval);
      if (newval === "") {
        this.judgement();
      }
    }
  },
  methods: { 
  judgement() {
      console.log(this.value);
      if (this.value) {
        document.getElementById("cleared").style.display = "none";
      }
    }
  },                              
  //监听器方法
      <button id="cleared" class="cleared" @click="clear()" v-if='value!==""'></button>  
      //v-if改写后

由此观之,所以在某些情况下合理利用v-if的语法是可以使代码量更为简明的

下面是v-if和v-show语法的具体区别讲解

v-if是条件优先的渲染,在满足条件才会渲染出条件块内的组件(倘若初始渲染时条件为假,则不渲染),并且在条件改变时对其中组件会进行销毁,而且可以同v-else-if语句联用,在不同的条件下改变渲染的方式。

v-show则是渲染优先,不管是否符合条件都会进行渲染,只是根据条件的真假更改css的display属性。你仍然可以在css中用函数去改变他的display属性,进行隐藏和渲染的更改.

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值