javascript - 如何在组件的事件中获取 v-for key?

标签 javascript vue.js v-for

我有一个带有 v-for 的客户组件,如下所示:

<my-component
  v-for="(item,index) in filteredList"
  :key="item.Rd"
  :item="item"
>

在我的组件内

<template>
    <div 
        @click="findSomething($event)"
    >
    ...HTML
    </div>
</template>

我尝试了很多方法将关键 Prop 传递到 my-comonent 但所有这些都不起作用 如果我设计的 props:['key'] 出现错误 “key”是一个保留属性,不能用作组件 Prop 。那么我仍然无法获取key 我依赖需要键的值来识别我在事件中触发的项目

最佳答案

您收到的错误是不言自明的。您不能在 props 中将其指定为 key,因为它是 Vue 保留的。

有两种方法可以解决此问题,此答案中详细介绍了这两种方法:Vue. How to get a value of a "key" attribute in created element

第一种方法是简单地重命名您传入的 prop,上面帖子中的用户使用 pkey 而不是 key

第二个解决方案是在组件内部使用 this.$vnode.key 来访问您正在使用的 key 。

关于javascript - 如何在组件的事件中获取 v-for key?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58839174/

相关文章:

javascript - 在 Vue.JS 中循环以迭代一些项目并将它们包装在一个元素中

vue.js - v-for 和 v-if 在 vue.js 中不能协同工作

javascript - 当 this.objects 更改时,对象中的 v-for 对象不会重新渲染

javascript - 如何使用 reduce 计算多个数组的交集?

javascript - 为什么 WebAssembly 这么慢?

vue.js - Nuxt 嵌套路由

javascript - 如何设置 Vue 路由或覆盖后退按钮以像应用程序一样运行

javascript - fileReader.readAsText() JavaScript : result not displayed

javascript - 滚动到顶部和底部的 HTML 列表步骤

typescript - Vue 属性装饰器上的感叹号代表什么