溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

vue組件如何實(shí)現(xiàn)彈出框點(diǎn)擊顯示隱藏效果

發(fā)布時(shí)間:2021-06-26 13:50:36 來(lái)源:億速云 閱讀:275 作者:小新 欄目:web開發(fā)

小編給大家分享一下vue組件如何實(shí)現(xiàn)彈出框點(diǎn)擊顯示隱藏效果,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

效果如下圖

vue組件如何實(shí)現(xiàn)彈出框點(diǎn)擊顯示隱藏效果 

由于我的更改密碼彈出框是一個(gè)組件引用的,所以在一開始是隱藏的,這就需要在當(dāng)前的頁(yè)面上對(duì)彈出框組件設(shè)置v-show,但是在彈出框顯示出來(lái)的時(shí)候,操作執(zhí)行完后當(dāng)前頁(yè)面的更改按鈕已經(jīng)被彈出框覆蓋了。所以只能在彈出頁(yè)面點(diǎn)擊取消實(shí)現(xiàn)關(guān)閉隱藏彈出框。這樣就需要寫兩個(gè)點(diǎn)擊事件,但是兩個(gè)點(diǎn)擊事件就會(huì)有沖突,需要點(diǎn)擊兩下才能使彈出框顯示和隱藏。然后我就用的以下方法,希望可以幫到大家?。?!

代碼如下

1.在當(dāng)前頁(yè)面中(主頁(yè)面)

<template>
  ......
  <ul>
    <li><span @click="ModifyPassword()">更改密碼</span></li> //點(diǎn)擊事件
  </ul>
  ......
  //組件傳一個(gè)點(diǎn)擊事件@hidden="hiddenShow",而這個(gè)點(diǎn)擊事件就是下面的hiddenShow()函數(shù)
  <ModifyPassword @hidden="hiddenShow" v-show="ModifyPassword_pop_up"> </ModifyPassword>  //調(diào)用組件
</template>
<script>
 import ModifyPassword from '@/components/pop-up/ModifyPassword.vue //引入組件
 export default {
  data(){
   return{
    date:'',
    ModifyPassword_pop_up:false,
    history_pop_up:false
   }
  },
  components:{
   ModifyPassword //引用組件
  },
  methods:{
   //更改密碼彈出框顯示(組件引用的彈出框)
   ModifyPassword(){
    this.ModifyPassword_pop_up=true
   },
   //更改密碼彈出框隱藏(傳給組件一個(gè)點(diǎn)擊事件)
   hiddenShow(){
    let that = this;
    that.ModifyPassword_pop_up = false
   }
  }
 }
</script>

2.在彈出框組件頁(yè)面中(更改密碼)

<template>
  ......
  <div class="foot">
      <input type="button" name="OK" value="提交" class="yes" >
      //在取消按鈕這里調(diào)用點(diǎn)擊事件
      <input type="button" name="cancel" value="取消" class="no" @click="Hidden()">
     </div>
  ......
</ModifyPassword> 
</template>
<script>
 export default {
  data(){
   return{}
  },
  methods:{
   //本更改密碼彈出框的顯示隱藏事件
   Hidden(){
    //通過(guò)$emit引用組件傳過(guò)來(lái)的hidden()事件
    this.$emit('hidden')
   }
  }
 }
</script>

雖然Vue 有很多UI組件。但是讓內(nèi)容比較多比較復(fù)雜的時(shí)候,還是需要自己寫一個(gè)的。本案主要是運(yùn)用了$emit監(jiān)聽,組件傳事件。

以上是“vue組件如何實(shí)現(xiàn)彈出框點(diǎn)擊顯示隱藏效果”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

vue
AI