使用 vuejs 中的方法进行条件@click

ali*_*018 6 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>
Run Code Online (Sandbox Code Playgroud)

@click="methodName" 不应在最后一次迭代中可用。

我可以使用 index==breadcrumbs.length-1 检查最后一次迭代这是否可以使用 apply v-if?

Jns*_*Jns 23

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

v-on="condition ? { eventName: () => handler } : {}"
Run Code Online (Sandbox Code Playgroud)

?: 运算符可用作 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>
Run Code Online (Sandbox Code Playgroud)

小小提琴