vue可点击行和href冲突

Vue clickable row and href conflict

对不起。一个颠倒的问题。我有这个table。这是可通过 iWasClicked 功能点击的,但我还有最后一个带有可点击图像 (href) 的 td。我希望最后一个 td 只能通过图像(href)点击。现在,它同时触发了两者。来自 tr.

的 href link 和 iWasClicked
<tr
          class="bg-gray-100 text-dark text-center cursor-pointer hover:bg-gray-300"
          v-for="currentView in getOrganizationsDashboard().projects"
          :key="currentView.id"
          @click="iWasClicked(currentView.projectName)"
        >
          <td class="px-4 py-3 border-b-2 border-dark">
            <!-- {{ showProjectSuccessRunPercentage(currentView)}} -->
            <img
              class="w-10 inline-block align-middle"
              :src="showProjectSuccessRunPercentage(currentView)"
              alt="Organization Icon"
            />
          </td>
          <td class="px-4 py-3 border-b-2 border-dark">
            {{ currentView["projectName"] }}
          </td>
          <td class="px-4 py-3 border-b-2 border-dark">
            <a
              class=" "
              :href="
                'https://xxx.us/org/' + currentView['projectName']
              "
              target="_blank"
              ><img
                class="inline-block w-10"
                alt=""
                src="../assets/img/myLogo.svg"
            /></a>
          </td>
        </tr>

您必须阻止点击事件冒泡并触发对 tr 的点击,您可以这样做:

<a @click="$event.stopPropagation()"</a>

<a
  class=" "
  :href="'https://xxx.us/org/' + currentView['projectName']"
  target="_blank"
  @click.stop
  >
    <img class="inline-block w-10"
         alt=""
         src="../assets/img/myLogo.svg"/>
</a>

最好为 @click 使用提供的 Vue 事件修饰符,即 .stop。就像 回答的那样,这也会停止点击事件的传播。

<tr @click.stop="iWasClicked(currentView.projectName)">