if-statement - 使用 vuejs 中的方法的条件 @click
问题描述
这是我的 for 循环:
<li v-for="(crumb, index) in breadcrumbs" :class="{ 'is-active' : index==breadcrumbs.length-1 }">
<a href="javascript:void(0)" v-if="index==breadcrumbs.length-1">{{ crumb.name }}</a>
</li>
@click="methodName" 不应该可用于最后一次迭代。
我可以使用 index==breadcrumbs.length-1 检查最后一次迭代是否可以使用 apply v-if?
解决方案
以这种方式定义事件处理程序有可能:
v-on="condition ? { eventName: () => handler } : {}"
?: 运算符可用作 if...else 语句的快捷方式
在你的情况下,它会是这样的:
<li v-for="(crumb, index) in breadcrumbs" :class="{ 'is-active' : index==breadcrumbs.length-1 }">
<a href="javascript:void(0)" v-on="index < breadcrumbs.length-1 ? { click: () => methodName(parms) } : {click: ($event) => $event.preventDefault() }" >{{ crumb.name }}</a>
</li>
推荐阅读
- visual-studio-code - 在 VSCode 中选择某些文本时如何对代码片段执行 IntelliSense?
- php - SQLSTATE [42S22]:未找到列:1054 未知列 material_tags.material_uuid
- html - 引导卡按钮和输入文本底部对齐
- c++ - Objective c 是否需要一个标准来定义像 c++ 11 这样的内存模型?
- java - 无法使用maven下载tapestry360-project
- dart - 列表
' 不是类型 'List 的子类型 ' 在类型转换中 - apache-spark - spark流将数据写入spark-sql,但无法查询
- python - 如何使用 python-pptx 从 powerpoint 中的组形状中的文本形状中提取文本。
- lua - 存储为字符串的简单 Lua 表的反序列化
- reactjs - TypeError:“尝试获取资源时出现网络错误。”