【问题标题】:How to use Vue JS transition "inside" another transition?如何在“内部”另一个转换中使用 Vue JS 转换?
【发布时间】:2019-05-30 11:49:45
【问题描述】:

假设我有一个正常的过渡,效果很好(遵循 vue 文档)。但我想在那个里面有另一个过渡。

例如,一个元素滑入,但其中的文本淡入同时出现?

我无法将内部子级转换为动画。不会被解雇吧?我试过“出现”也认为节点是新的。

几乎没有这方面的信息。

<div id="demo">
  <transition name="slide">
    <div v-if="show">
      <transition name="slide-fade">
        <p>hello</p>
      </transition>
    </div>
  </transition>
</div>

过渡效果

.fade-enter-active,
.fade-leave-active {
  transition: opacity 0.5s;
}
.fade-enter,
.fade-leave-to {
  opacity: 0;
}

.slide-fade-enter-active {
  transition: all 0.3s ease;
}
.slide-fade-leave-active {
  transition: all 0.8s cubic-bezier(1, 0.5, 0.8, 1);
}
.slide-fade-enter,
.slide-fade-leave-to {
  transform: translateX(10px);
  opacity: 0;
}

【问题讨论】:

    标签: vue.js transition vuejs-transition


    【解决方案1】:

    您似乎没有为 slide 组件添加过渡 CSS。以下应该有效:

    const vm = new Vue({
      el: '#demo',
      data() {
        return {
          show: true
        }
      }
    })
    .slide-fade-enter-active,
    .slide-fade-leave-active {
      transition: opacity 0.5s;
    }
    
    .slide-fade-enter,
    .slide-fade-leave-to {
      opacity: 0;
    }
    
    .slide-enter-active {
      transition: all 0.3s ease;
    }
    
    .slide-leave-active {
      transition: all 0.8s cubic-bezier(1, 0.5, 0.8, 1);
    }
    
    .slide-enter,
    .slide-leave-to {
      transform: translateX(10px);
      opacity: 0;
    }
    
    /* Some styling to make them noticeable */
    .parent {
      background-color: lightgray;
      padding: 2px;
    }
    
    .child {
      background-color: yellow;
    }
    <script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
    
    <div id="demo">
      <transition name="slide">
        <div v-if="show" class="parent">
          <transition name="slide-fade">
            <p class="child">hello</p>
          </transition>
        </div>
      </transition>
    
      <button @click="show = !show">Toggle</button>
    </div>

    【讨论】:

      猜你喜欢
      • 2023-03-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-20
      • 1970-01-01
      相关资源
      最近更新 更多