vue組件實(shí)現(xiàn)彈出框點(diǎn)擊顯示隱藏效果
本文實(shí)例為大家分享了vue實(shí)現(xiàn)彈出框點(diǎn)擊顯示隱藏的具體代碼,供大家參考,具體內(nèi)容如下
效果如下圖
由于我的更改密碼彈出框是一個組件引用的,所以在一開始是隱藏的,這就需要在當(dāng)前的頁面上對彈出框組件設(shè)置v-show,但是在彈出框顯示出來的時候,操作執(zhí)行完后當(dāng)前頁面的更改按鈕已經(jīng)被彈出框覆蓋了。所以只能在彈出頁面點(diǎn)擊取消實(shí)現(xiàn)關(guān)閉隱藏彈出框。這樣就需要寫兩個點(diǎn)擊事件,但是兩個點(diǎn)擊事件就會有沖突,需要點(diǎn)擊兩下才能使彈出框顯示和隱藏。然后我就用的以下方法,希望可以幫到大家?。?!
代碼如下
1.在當(dāng)前頁面中(主頁面)
<template> ...... <ul> <li><span @click="ModifyPassword()">更改密碼</span></li> //點(diǎn)擊事件 </ul> ...... //組件傳一個點(diǎn)擊事件@hidden="hiddenShow",而這個點(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 }, //更改密碼彈出框隱藏(傳給組件一個點(diǎn)擊事件) hiddenShow(){ let that = this; that.ModifyPassword_pop_up = false } } } </script>
2.在彈出框組件頁面中(更改密碼)
<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(){ //通過$emit引用組件傳過來的hidden()事件 this.$emit('hidden') } } } </script>
雖然Vue 有很多UI組件。但是讓內(nèi)容比較多比較復(fù)雜的時候,還是需要自己寫一個的。本案主要是運(yùn)用了$emit監(jiān)聽,組件傳事件。如果有更好的方案歡迎大家一起交流。
關(guān)于vue.js組件的教程,請大家點(diǎn)擊專題vue.js組件學(xué)習(xí)教程進(jìn)行學(xué)習(xí)。
更多vue學(xué)習(xí)教程請閱讀專題《vue實(shí)戰(zhàn)教程》
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
vue父組件傳值子組件報(bào)錯Avoid?mutating?a?prop?directly解決
這篇文章主要為大家介紹了vue父組件傳值子組件報(bào)錯Avoid?mutating?a?prop?directly解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-09-09Vue使用v-model收集各種表單數(shù)據(jù)、過濾器的示例詳解
這篇文章主要介紹了Vue使用v-model收集各種表單數(shù)據(jù)、過濾器的示例,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧2024-08-08vue-element的select下拉框賦值實(shí)例
這篇文章主要介紹了vue-element的select下拉框賦值實(shí)例,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-03-03解決vue更新路由router-view復(fù)用組件內(nèi)容不刷新的問題
今天小編就為大家分享一篇解決vue更新路由router-view復(fù)用組件內(nèi)容不刷新的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-11-11Vue是怎么渲染template內(nèi)的標(biāo)簽內(nèi)容的
這篇文章主要介紹了Vue是怎么渲染template內(nèi)的標(biāo)簽內(nèi)容的,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06vue監(jiān)聽屏幕尺寸變化問題,window.onresize很簡單
這篇文章主要介紹了vue監(jiān)聽屏幕尺寸變化問題,window.onresize很簡單,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-10-10