vue transition 在子組件中失效的解決
錯誤代碼:
子組件:
<template> <div v-show="showMine"> <div class="mask" @click.self="onMask"></div> <transition name="slide-fade"> <div class="my_group" v-if="showMine">我的</div> </transition> </div> </template> <script> export default { name: "mine", props: ["showMine"], data() { return {}; }, methods: { onMask() { this.$emit("onMask"); } } }; </script> <style lang="less" scoped> .mask { width: 100%; height: 100%; position: fixed; top: 0; left: 0; bottom: 0; right: 0; background-color: rgba(0, 0, 0, 0.1); z-index: 10; } .my_group { width: 60%; top: 0; bottom: 0; height: 100%; background-color: #fff; position: fixed; z-index: 11; } .slide-fade-enter-active, .slide-fade-leave-active { transition: all 0.3s ease; } .slide-fade-enter, .slide-fade-leave-to { transform: translateX(-100%); transition: all 0.3s ease; } </style>
父組件:
<template> <div class="headers"> <div class="nav"> <div class="mine" @click="onMine"> <i class="cubeic-person"></i> </div> <div class="city"> 深圳市 <i class="cubeic-pulldown"></i> </div> <div class="info"> <i class="cubeic-message"></i> </div> </div> <app-mine :showMine="showMine" @onMask="onMask" /> </div> </template> <script> import appMine from "../Mine"; export default { name: "headers", components: { "app-mine": appMine }, data() { return { showMine: false }; }, methods: { onMine() { this.showMine = true; }, onMask() { this.showMine = false; } } }; </script> <style lang="less" scoped> .nav { display: flex; justify-content: space-between; align-items: center; width: 100%; height: 1.066667rem; padding: 0 0.266667rem; box-sizing: border-box; font-size: 0.48rem; .city { font-size: 0.373333rem; color: #7e7e7e; } } .mine, .info, .city { height: 100%; line-height: 1.066667rem; } </style>
效果:
修改代碼只要把子組件中的的showMine放在mask元素中就可以
效果:
以上這篇vue transition 在子組件中失效的解決就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
vue2前端調(diào)用WebSocket有消息進行通知代碼示例
在Vue項目中實現(xiàn)全局的消息鏈接監(jiān)聽主要涉及到了WebSocket技術(shù),這是一種雙向通信協(xié)議,允許客戶端與服務(wù)器之間實時、高效地交換數(shù)據(jù),這篇文章主要給大家介紹了關(guān)于vue2前端調(diào)用WebSocket有消息進行通知的相關(guān)資料,需要的朋友可以參考下2024-07-07淺談vue項目優(yōu)化之頁面的按需加載(vue+webpack)
本篇文章主要介紹了vue項目優(yōu)化之頁面的按需加載(vue+webpack),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-12-12vue2.x,vue3.x使用provide/inject注入的區(qū)別說明
這篇文章主要介紹了vue2.x,vue3.x使用provide/inject注入的區(qū)別說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-04-04使用vue init webpack項目名創(chuàng)建項目方式
這篇文章主要介紹了使用vue init webpack項目名創(chuàng)建項目方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-11-11解決Vue+Electron下Vuex的Dispatch沒有效果問題
這篇文章主要介紹了Vue+Electron下Vuex的Dispatch沒有效果的解決方案 ,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-05-05在Vue使用$attrs實現(xiàn)構(gòu)建高級組件
本文我們主要來看下Vue3中的$attrs屬性。首先,我們會介紹它的用途以及它的實現(xiàn)與Vue2有哪些不兩同點,并通過事例來加深對它的理解2022-09-09vuex + axios 做登錄驗證 并且保存登錄狀態(tài)的實例
今天小編就為大家分享一篇vuex + axios 做登錄驗證 并且保存登錄狀態(tài)的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-09-09