在 Vue.js 2.0 中,过渡状态是通过 <transition> 组件的 appear 特性和钩子函数来管理的。appear 特性用于处理初始渲染时的过渡效果,而钩子函数则允许你在不同的阶段添加自定义逻辑。

以下是一个简单的例子,演示了 Vue.js 2.0 中如何使用过渡状态:
<template>
  <div>
    <transition
      name="fade"
      @before-enter="beforeEnter"
      @enter="enter"
      @after-enter="afterEnter"
      @before-leave="beforeLeave"
      @leave="leave"
      @after-leave="afterLeave"
      @before-appear="beforeAppear"
      @appear="appear"
      @after-appear="afterAppear"
      appear
    >
      <p v-if="show" key="content">Hello, Vue!</p>
    </transition>
    <button @click="toggleShow">Toggle</button>
  </div>
</template>

<script>
export default {
  data() {
    return {
      show: true
    };
  },
  methods: {
    toggleShow() {
      this.show = !this.show;
    },
    beforeEnter(el) {
      // 进入动画之前的钩子函数
      console.log('beforeEnter');
    },
    enter(el, done) {
      // 进入动画时的钩子函数
      console.log('enter');
      done(); // 这个回调函数用于通知 Vue 进入动画结束
    },
    afterEnter(el) {
      // 进入动画结束后的钩子函数
      console.log('afterEnter');
    },
    beforeLeave(el) {
      // 离开动画之前的钩子函数
      console.log('beforeLeave');
    },
    leave(el, done) {
      // 离开动画时的钩子函数
      console.log('leave');
      done(); // 这个回调函数用于通知 Vue 离开动画结束
    },
    afterLeave(el) {
      // 离开动画结束后的钩子函数
      console.log('afterLeave');
    },
    beforeAppear(el) {
      // 初始渲染时的动画之前的钩子函数
      console.log('beforeAppear');
    },
    appear(el, done) {
      // 初始渲染时的动画时的钩子函数
      console.log('appear');
      done(); // 这个回调函数用于通知 Vue 初始渲染时的动画结束
    },
    afterAppear(el) {
      // 初始渲染时的动画结束后的钩子函数
      console.log('afterAppear');
    }
  }
};
</script>

<style>
.fade-enter-active, .fade-leave-active, .fade-appear-active {
  transition: opacity 0.5s;
}
.fade-enter, .fade-leave-to, .fade-appear-to {
  opacity: 0;
}
</style>

在上述例子中,通过使用 <transition> 组件的各种钩子函数,你可以在不同的阶段执行自定义逻辑。同时,通过设置 appear 特性为 true,Vue.js 会在初始渲染时触发相应的过渡效果。请注意,在 CSS 中设置过渡样式,这里以 opacity 为例。你可以根据需要设置其他样式。


转载请注明出处:http://www.zyzy.cn/article/detail/4808/Vue