vue如何根据条件判断按钮是否可以点击_vue.js

根据条件判断按钮是否可以点击

按钮当在特定环境下不可点击,需要根据判断来控制点击事件。

方法一:使用v-if 、v-else 来判断

<template>      <div>          <el-button v-if="!isDisabled"></el-button>          <el-button v-else @click="getDetail()"></el-button>      </div>  </template>

方法二:增加一个变量,判断

<template>  <el-button @click="!isDisabled && getDetail()"></el-button>  </template>
<script>  data(){      return{          isDisabled:true,  //为true时可以点击,false时不可点击      }  }  </script>

两种方法都可以,但第二种相对来说编写的代码更少,具体怎么用看个人习惯。  

vue判断点击当前元素

点击按钮,出现弹窗;然后点击遮罩层,当前弹窗消失。

在这里插入图片描述

一开始都会在遮罩层上绑定点击事件,但是这样的话,点击了form表单,当前弹窗也会消失。

需要判断你是点击了遮罩层还是form表单

1.在遮罩层上绑定点击事件 @click=“showfun2($event)”

<div class="topfrom" v-show="msg" @click="showfun2($event)">      <!--子组件-->      <fromdemo btndata="点击咨询"></fromdemo>    </div>

2.判断是否点击了当前元素 e.currentTarget === e.target

showfun2(e) {      if (e.currentTarget === e.target) {          this.msg = false      }  },

以上就完成当前事件点击元素的判断。

接下来是分别对e.currentTarget、e.target打印

showfun2(e) {      console.log(e.currentTarget)      console.log(e.target)  },

第一次点击 遮罩层 

在这里插入图片描述

第二次点击 form表单

在这里插入图片描述

发现 e.currentTarget 打印的始终是,绑定点击事件的元素。

上一个:清除缓存的代码

下一个:maven打war包