vue組件實現(xiàn)彈出框點擊顯示隱藏效果
本文實例為大家分享了vue實現(xiàn)彈出框點擊顯示隱藏的具體代碼,供大家參考,具體內(nèi)容如下
效果如下圖
由于我的更改密碼彈出框是一個組件引用的,所以在一開始是隱藏的,這就需要在當(dāng)前的頁面上對彈出框組件設(shè)置v-show,但是在彈出框顯示出來的時候,操作執(zhí)行完后當(dāng)前頁面的更改按鈕已經(jīng)被彈出框覆蓋了。所以只能在彈出頁面點擊取消實現(xiàn)關(guān)閉隱藏彈出框。這樣就需要寫兩個點擊事件,但是兩個點擊事件就會有沖突,需要點擊兩下才能使彈出框顯示和隱藏。然后我就用的以下方法,希望可以幫到大家?。?!
代碼如下
1.在當(dāng)前頁面中(主頁面)
<template>
......
<ul>
<li><span @click="ModifyPassword()">更改密碼</span></li> //點擊事件
</ul>
......
//組件傳一個點擊事件@hidden="hiddenShow",而這個點擊事件就是下面的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
},
//更改密碼彈出框隱藏(傳給組件一個點擊事件)
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)用點擊事件
<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ù)雜的時候,還是需要自己寫一個的。本案主要是運用了$emit監(jiān)聽,組件傳事件。如果有更好的方案歡迎大家一起交流。
關(guān)于vue.js組件的教程,請大家點擊專題vue.js組件學(xué)習(xí)教程進行學(xué)習(xí)。
更多vue學(xué)習(xí)教程請閱讀專題《vue實戰(zhàn)教程》
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Vue文件如何代替?zhèn)鹘y(tǒng)的HTML文件
隨著前端工程化的不斷推進,傳統(tǒng)的HTML、CSS、JavaScript三者分離的開發(fā)模式逐漸顯露出一些不足之處,尤其是在構(gòu)建復(fù)雜的單頁應(yīng)用(SPA)時,Vue.js作為一個現(xiàn)代化的前端框架,提供了多種工具和技術(shù)來簡化開發(fā)流程,本文將探討.vue文件是如何替代傳統(tǒng)HTML文件的角色2024-10-10
Vue Router的手寫實現(xiàn)方法實現(xiàn)
這篇文章主要介紹了Vue Router的手寫實現(xiàn)方法實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03
vue實現(xiàn)壓縮圖片預(yù)覽并上傳功能(promise封裝)
這篇文章主要為大家詳細介紹了vue實現(xiàn)壓縮圖片預(yù)覽并上傳功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-01-01

