【问题标题】:How to dynamically change Vue.js transition如何动态更改 Vue.js 过渡
【发布时间】:2017-05-03 18:43:29
【问题描述】:

我想根据用户的操作动态更改发生的动画类型。例如,当第一个按钮被点击并且离开动画被调用时,“hello”元素应该使用bounceOutRight动画。但是,如果用户单击第二个按钮,“hello”元素应该使用bounceOutLeft 动画。这个例子来自 vue.js documentation,我正在尝试扩展它。与 vue 示例一样,它使用 animate.css 库。

我尝试使用 v-bind:leave-active-class="animatedbounceOutRight" 但作为无效表达式引发了错误。

<button @click="show = !show">
  Toggle Bounce Right
</button>
<button @click="show = !show">
  Toggle Bounce Left
</button>
<transition
  name="custom-classes-transition"
  enter-active-class="animated tada"
  leave-active-class="animated bounceOutRight"
>
  <p v-if="show">hello</p>
</transition>

【问题讨论】:

    标签: javascript css animation vue.js


    【解决方案1】:

    您可以为此目的使用v-bind,您可以将转换名称设为vue data 变量,以下将确保它是动态的:

    <transition
      v-bind:name="className"
      v-bind:enter-active-class="enterClassName"
      v-bind:leave-active-class="leaveClassName"
    >
    

    简而言之

    <transition
      :name="className"
      :enter-active-class="enterClassName"
      :leave-active-class="leaveClassName"
    >
    

    【讨论】:

    • 我是愚蠢的。当我在离开“动画bounceOutRight”之前使用v-bind而不是正确更改值时。
    猜你喜欢
    • 1970-01-01
    • 2019-08-30
    • 1970-01-01
    • 2012-07-07
    • 1970-01-01
    • 1970-01-01
    • 2018-02-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多