Есть ли в любом случае доступ к ключевому свойству от дочернего элемента в цикле v-for? vue

#vue.js #vuejs3

Вопрос:

Если возможно, я хотел бы получить доступ к значению, переданному в качестве ключевого свойства, из дочернего компонента в v-for цикле. Я добавил пример разметки ниже, в этом случае item.value он будет доступен в каждом ListItem компоненте, любые предложения будут оценены.

 lt;Listgt;  lt;ListItem v-for="item in items" :key="item.value"gt;  {{ item.label }}  lt;/ListItemgt; lt;/Listgt;  

Ответ №1:

Если вы хотите получить доступ к данным от ребенка, вы должны использовать реквизиты (ключ зарезервирован, поэтому вам придется назвать его как-то иначе).

В противном случае вы можете получить доступ к ключу на vnode внутри компонента через this.$vnode.key .

Для Vue 3: Вам нужно будет получить доступ к vnode из внутреннего частного экземпляра, например: this.$.vnode.key . Насколько я знаю, это недокументировано и может измениться; используйте с осторожностью.

Но я бы посоветовал вам пойти с props этим !