vue中transition組件在項目中運用小結

​vue中的transtion是一個動畫過渡封裝組件,常見的情景時用transition標簽包裹的DOM含有動畫效果。transition組件的動畫效果過渡設置基於css的transition屬性設置。下面給大傢介紹下vue中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>

內容切換控制效果

註意 :

  1. key:可以為任意值,通過key值切換而控制動畫切換。 組件可以任意, 不變都行,變不變取決於自己。可以用component標簽配合is,或者直接v-if也可以。
  2. 綁定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>

配合animate框架使用

註意

  • name的值必須設置為 :custom-classes-transition
  • enter-active-class, leave-active-class來控制出現和消失的樣式
<link href="https://cdn.jsdelivr.net/npm/[email protected]" 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組件在項目中運用的文章就介紹到這瞭,更多相關vue中transition組件內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: