您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關vue中transition組件在項目中怎么用的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
vue中的transtion是一個動畫過渡封裝組件,常見的情景時用transition標簽包裹的DOM含有動畫效果。transition組件的動畫效果過渡設置基于css的transition屬性設置。
注意:
name的名字為多少,則下面的樣式class開頭就要為多少
通過v-if來配合執行動畫效果
<template> <div> <button v-on:click="show = !show"> Toggle </button> <transition name="fade"> <p v-if="show">hello</p> </transition> </div> </template> <script> export default { data () { return { show: true } }, } </script> <style scoped lang="less"> .fade-enter-active, .fade-leave-active { transition: all .5s; } .fade-leave-to { opacity: 0; transform: translateX(20px); } .fade-enter{ opacity: 0; transform: translateX(-20px); } </style>
注意 :
key:可以為任意值,通過key值切換而控制動畫切換。 組件可以任意, 不變都行,變不變取決于自己。可以用component標簽配合is,或者直接v-if也可以。
綁定key的那個組件需要設置為絕對定位,否則切換會出現卡頓。 也可以設置mode="out-in"或者mode=“in-out” 一前一后。 看自己個人的需求了
<template> <div> <transition name="fade"> <button class="position" @click="change" :key="status"> 組件 </button> </transition> </div> </template> <script> export default { data () { return { status: '1', } }, methods: { change () { if(this.docState === '1'){ this.docState = '2' }else{ this.docState = '1' } } } } </script> <style scoped lang="less"> .fade-enter-active, .fade-leave-active { transition: all .5s; } .fade-leave-to { opacity: 0; transform: translateX(20px); } .fade-enter{ opacity: 0; transform: translateX(-20px); } .position{ position: absolute; } </style>
注意
name的值必須設置為 :custom-classes-transition
enter-active-class, leave-active-class來控制出現和消失的樣式
<link href="https://cdn.jsdelivr.net/npm/animate.css@3.5.1" rel="external nofollow" rel="stylesheet" type="text/css"> <div id="example-3"> <button @click="show = !show"> Toggle render </button> <transition name="custom-classes-transition" enter-active-class="animated tada" leave-active-class="animated bounceOutRight" > <p v-if="show">hello</p> </transition> </div>
給transition添加 appear
感謝各位的閱讀!關于“vue中transition組件在項目中怎么用”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。