vue.js - 如何在 vuejs 中使用 javascript 在转换中使用三元运算符?
问题描述
我正在尝试使用 vuejs 和 gsap 在 h2 之间实现非常基本的幻灯片。根据方向(下一张和上一张幻灯片),我需要 2 种不同类型的转换。为了获得紧凑的代码,我使用了三元运算符?:
<transition :css="false" @enter="direction ? enterNext : enterPrev">
<h2 :key="currentPage.id">
<NuxtLink
:to="currentPage.to"
:title="currentPage.longTitle"
exact-active-class="is-active"
>
{{ currentPage.title }}
</NuxtLink>
</h2>
</transition>
如果我使用 2 div 和 v-if / v-else 语法,它工作得很好。我在这里做错了什么?我需要以不同的方式格式化三元返回的内容吗?
解决方案
@enter
是一个事件处理程序。你可以在这里传递一个函数名@enter="enterNext"
(这可能是你以前做过的)或有效的 JS 代码片段,比如@enter="enterNext($event)"
(函数调用)
您的三元组没有返回任何内容,因为它缺少return
语句。
无论如何,您可能想要的是:@enter="direction ? enterNext() : enterPrev()"
推荐阅读
- c# - Find equal substring in list of strings
- unity3d - Unity:NullReferenceException:对象引用未设置为具有多个 gameObject.SetActive 语句的对象实例
- ssh - vagrant ssh 调用的是 22 而不是 2222?- 权限被拒绝(公钥)
- google-cloud-platform - 无法在 GCP 中创建新项目,位置权限问题
- r - 计算 R 数据中的更新频率
- python - django.db.utils.OperationalError 的解决方案
- mongodb - 如何查找mongo DB查询慢的原因?
- grafana - 我应该使用什么查询向 grafana 显示状态代码?
- sql-server - 由于缺少权限,SQL Server 服务无法启动
- angular - 如何在 Angular 中搜索两个文档而不是两个文档时发出一个服务请求?