【发布时间】:2019-01-25 10:23:03
【问题描述】:
我正在尝试向我的表单添加转换,以便当用户选择问题的特定答案时,它会动态显示下一个问题。目前我看起来像这样:
<input type="text" :value="vueModel.question1" />
<div v-if="vueModel.question1 === 'hello'">
//Do something
</div>
<div v-else-if="vueModel.question1 === 'hihi'">
//Do something
</div>
<div v-else>
//Do something
</div>
我的问题是,我应该以这种方式添加过渡吗? (为什么?)
<input type="text" :value="vueModel.question1" />
<transition-group name="slide-fade" mode="in-out">
<div v-if="vueModel.question1 === 'hello'" key="key1">
//Do something
</div>
<div v-else-if="vueModel.question1 === 'hihi'" key="key2">
//Do something
</div>
<div v-else key="key3">
//Do something
</div>
</transition-group>
或者,这样? (为什么?)
<input type="text" :value="vueModel.question1" />
<transition name="slide-fade" mode="in-out">
<div v-if="vueModel.question1 === 'hello'" key="key1">
//Do something
</div>
<div v-else-if="vueModel.question1 === 'hihi'" key="key2">
//Do something
</div>
<div v-else key="key3">
//Do something
</div>
</transition>
或者,是否有另一种方法可以更好地做到这一点并且符合 Vue 最佳实践?
【问题讨论】:
-
我们需要知道您的 vue 实例,您可以将其添加到您的问题中吗?
-
我使用的是什么版本的 vue? v2.5.16
-
值得一读docs
-
谢谢,我已经通读了这篇文章,但我没有发现在重复 div 元素上何时使用过渡组与过渡而不使用 v-for 循环遍历它们时不够清楚。所以任何关于这方面的指导都会很棒! :)
标签: javascript html vue.js transition