javascript - 基于布尔值启用/禁用 Vue 转换
问题描述
在 Vue 中,我可以基于布尔值以某种方式禁用过渡动画吗?
所以现在启用动画:
<transition name="fadeUp">
<div v-if="elIsVisible">
<p>Foo Bar</p>
</div>
</transition>
但我希望我做这样的事情:
<transition name="fadeUp" animation-enabled="false">
<div v-if="elIsVisible">
<p>Foo Bar</p>
</div>
</transition>
或者也许是一个聪明的解决方法?
这是一个基于模块的网站(每个块一个组件),如果用户可以启用/禁用某些块的动画,它可能会很漂亮。
解决方案
有一个解决方法,是的。您可以通过在组件上设置v-bind:css
为来跳过 CSS 检测。false
<transition>
new Vue({
el: '#app',
data: () => ({
show: true,
animated: true
})
})
.fade-enter-active,
.fade-leave-active {
transition: opacity .5s;
}
.fade-enter,
.fade-leave-to {
opacity: 0;
}
p {
background-color: beige;
border: 1px solid orange;
padding: 4px 6px;
}
button {
display: block;
margin-top: 2em;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
<div id="app">
<transition name="fade" :css="animated">
<p v-if="show">Hey, there!</p>
</transition>
<label>
<input type="checkbox" v-model="animated" />
Animated
</label>
<button @click="show = !show">Toggle visibility</button>
</div>
推荐阅读
- python - 如何将 ttk 进度条的增量保存到文件并在重新打开应用程序时检索增量?
- c# - Json 在不同节点中具有重复的键名
- amazon-web-services - 是否有等效于 openjdk:8-jdk-alpine 的 Amazon ECR 公共库?
- java - 如何在正则表达式匹配中忽略空格
- sql - SSRS Report Builder - 在条形图上显示零值的列
- javascript - 双 for 循环内的 settimeout
- java - 我们如何从android中的地区获取国家代码
- python - 蝗虫gevent语法?
- swift - 在 Swift 或任何其他自定义整数或浮点自定义类型中实现 UInt15
- node.js - Angular 应用更改了默认端口不起作用