vue如何根據(jù)條件判斷按鈕是否可以點(diǎn)擊
根據(jù)條件判斷按鈕是否可以點(diǎn)擊
按鈕當(dāng)在特定環(huán)境下不可點(diǎn)擊,需要根據(jù)判斷來(lái)控制點(diǎn)擊事件。
方法一:使用v-if 、v-else 來(lái)判斷
<template> ? ? <div> ? ? ? ? <el-button v-if="!isDisabled"></el-button> ? ? ? ? <el-button v-else @click="getDetail()"></el-button> ? ? </div> </template>
方法二:增加一個(gè)變量,判斷
<template> <el-button @click="!isDisabled && getDetail()"></el-button> </template>
<script> data(){ ? ? return{ ? ? ? ? isDisabled:true, ?//為true時(shí)可以點(diǎn)擊,false時(shí)不可點(diǎn)擊 ? ? } } </script>
兩種方法都可以,但第二種相對(duì)來(lái)說(shuō)編寫(xiě)的代碼更少,具體怎么用看個(gè)人習(xí)慣。
vue判斷點(diǎn)擊當(dāng)前元素
點(diǎn)擊按鈕,出現(xiàn)彈窗;然后點(diǎn)擊遮罩層,當(dāng)前彈窗消失。
一開(kāi)始都會(huì)在遮罩層上綁定點(diǎn)擊事件,但是這樣的話,點(diǎn)擊了form表單,當(dāng)前彈窗也會(huì)消失。
需要判斷你是點(diǎn)擊了遮罩層還是form表單
1.在遮罩層上綁定點(diǎn)擊事件 @click=“showfun2($event)”
<div class="topfrom" v-show="msg" @click="showfun2($event)"> ?? ?<!--子組件--> ?? ?<fromdemo btndata="點(diǎn)擊咨詢"></fromdemo> ? </div>
2.判斷是否點(diǎn)擊了當(dāng)前元素 e.currentTarget === e.target
showfun2(e) { ?? ?if (e.currentTarget === e.target) { ?? ??? ?this.msg = false ?? ?} },
以上就完成當(dāng)前事件點(diǎn)擊元素的判斷。
接下來(lái)是分別對(duì)e.currentTarget、e.target打印
showfun2(e) { ?? ?console.log(e.currentTarget) ?? ?console.log(e.target) },
第一次點(diǎn)擊 遮罩層
第二次點(diǎn)擊 form表單
發(fā)現(xiàn) e.currentTarget 打印的始終是,綁定點(diǎn)擊事件的元素。
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Vue監(jiān)聽(tīng)頁(yè)面刷新和關(guān)閉功能
我在做項(xiàng)目的時(shí)候,有一個(gè)需求,在離開(kāi)(跳轉(zhuǎn)或者關(guān)閉)購(gòu)物車頁(yè)面或者刷新購(gòu)物車頁(yè)面的時(shí)候向服務(wù)器提交一次購(gòu)物車商品數(shù)量的變化。這篇文章主要介紹了vue監(jiān)聽(tīng)頁(yè)面刷新和關(guān)閉功能,需要的朋友可以參考下2019-06-06Vue項(xiàng)目中實(shí)現(xiàn)描點(diǎn)跳轉(zhuǎn)scrollIntoView的案例
這篇文章主要介紹了Vue項(xiàng)目中實(shí)現(xiàn)描點(diǎn)跳轉(zhuǎn)scrollIntoView的案例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-09-09從零開(kāi)始在vue-cli4配置自適應(yīng)vw布局的實(shí)現(xiàn)
這篇文章主要介紹了從零開(kāi)始在vue-cli4配置自適應(yīng)vw布局,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06Vue-router 切換組件頁(yè)面時(shí)進(jìn)入進(jìn)出動(dòng)畫(huà)方法
今天小編就為大家分享一篇Vue-router 切換組件頁(yè)面時(shí)進(jìn)入進(jìn)出動(dòng)畫(huà)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-09-09Vux+Axios攔截器增加loading的問(wèn)題及實(shí)現(xiàn)方法
這篇文章主要介紹了Vux+Axios攔截器增加loading的問(wèn)題及實(shí)現(xiàn)方法,文中通過(guò)實(shí)例代碼介紹了vue中使用axios的相關(guān)知識(shí),需要的朋友可以參考下2018-11-11vue單頁(yè)應(yīng)用的內(nèi)存泄露定位和修復(fù)問(wèn)題小結(jié)
系統(tǒng)進(jìn)程不再用到的內(nèi)存,沒(méi)有及時(shí)釋放,就叫做內(nèi)存泄漏(memory leak)。這篇文章主要介紹了vue單頁(yè)應(yīng)用的內(nèi)存泄露定位和修復(fù),需要的朋友可以參考下2019-08-08vscode中prettier和eslint換行縮進(jìn)沖突的問(wèn)題
這篇文章主要介紹了vscode中prettier和eslint換行縮進(jìn)沖突的問(wèn)題及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-10-10前端文件導(dǎo)出設(shè)置responseType為blob時(shí)遇到的問(wèn)題及解決
這篇文章主要給大家介紹了關(guān)于前端文件導(dǎo)出設(shè)置responseType為blob時(shí)遇到的問(wèn)題及解決方法,文中通過(guò)圖文介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-09-09