VueJS最佳实践:动画仅显示一组元素中的一个

时间:2018-10-04 19:36:39

标签: javascript vue.js

如果我描述用例,它可能会最有帮助;我想创建一个输入小部件 根据用户指定的数据,可能会显示相当多的复选框,可以将其大致分为三部分。

我的想法是显示最初隐藏的这三个子节,由一些标题指示,而单击标题之一将滑入将要加载的实际内容,因此这不是“真实的”条件渲染方案。 以此作为基本设置,我想在单击其他节标题时隐​​藏“打开的”节。

最能给我一个解决问题的方法的是:

Smoothly animate v-show in VueJS

但是我不确定一个非二进制情况是什么是“好”还是“恶”。我的想法与上述问题的答案相似,是使用类似以下内容的状态指示符:

[...]
data:function(){
    return {
        sectionShowStatuses: {
            first: false,
            second: false,
            third: false
        }
    }
}
[...]

,然后根据对节标题的单击来操纵此状态指示,并将元素上css类的存在与状态信息相关联,该状态信息可平滑地实现滑入/滑出效果的动画。

这将是一种好的做法,还是有一种更优雅/更容易实现的方法?

1 个答案:

答案 0 :(得分:1)

如果我是你,我会用Dynamic Components来重新考虑。这似乎是一种更好,更清洁的方法来处理您要实现的目标。

Transitioning Between Components