Есть ли способ правильно использовать index в этом v-for, чтобы не получить ошибку

#javascript #vue.js

#javascript #vue.js

Вопрос:

Я использую index в v-for, чтобы попытаться использовать его в функции для удаления этого элемента из массива. Индекс определен, но никогда не используется, появляется как ошибка из linter.

Я не уверен в правильном способе размещения индекса, поскольку именно так он указан в руководстве.

 <template>
    <div class="row">
        <app-quote v-for="(quote,index) in quotes" :key="quote.id" @click.native="deleteQuote">{{ quote }}</app-quote>

    </div>
</template>

<script>
import Quote from './Quote.vue';

export default {
    props: ['quotes'],
    components: {
        appQuote: Quote
    },
    methods: {
        deleteQuote(index) {
            this.$emit('quoteDeleted', index);
        }
    },
}
</script>
 

Комментарии:

1. @click.native="deleteQuote(index)"

Ответ №1:

Вы можете передать индекс deleteQuote явно:

 <app-quote v-for="(quote, index) in quotes" :key="quote.id" @click.native="deleteQuote(index)">{{ quote }}</app-quote>
 

В общем, вы можете отключить линтер для строки:

 <!-- eslint-disable-next-line -->
 

Но в данном случае это не обязательно.

Комментарии:

1. Отключение linter для чего-то подобного не было бы хорошей идеей

2. @Phil вы правы, это была бы плохая идея. Я отредактировал и оставил его в качестве ссылки

3. Я смог передать объяснение индекса deleteQuote .