在vue.js中使用方法的条件@click

时间:2018-12-12 11:57:10

标签: if-statement vue.js

这是我的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吗?

1 个答案:

答案 0 :(得分:2)

可以通过以下方式定义事件处理程序:

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>

Small fiddle