приставка.log () не показывает фактическое значение
Я перебираю список, в котором я использовал функцию @click для обновления некоторых других элементов. Значения индексов элементов привязываются к selectedFixtures
. Я не понимаю, почему, когда я нажимаю на элемент, он выводит []
, а во второй раз, когда я нажимаю на элемент, он выводит старое значение ex.: [1]
. Как я могу работать с фактическими значениями в моей функции, чтобы она распечатала [1]
в первый раз?
<v-chip-group
v-model="selectedFixtures"
multiple
>
<v-chip v-for="(f, i) in filteredFixtures()" :key="i" @click="selectFixture(f, i)">
<div class="d-flex align-baseline">
<span class="font-weight-medium">{{ f.name }}</span>
</div>
</v-chip>
</v-chip-group>
methods: {
selectFixture(f, index) {
console.log(JSON.stringify(this.selectedFixtures));
if (this.selectedFixtures.length === 1) {
console.log('here!')
}
}
}
Ответы - приставка.log () не показывает фактическое значение / console.log() does not show actual value

28.01.2020 10:18:20
Вам нужен массив выбранных фишек, поэтому вы пропускаете multiple
из вашего шаблона (это просто опечатка при написании вопроса?). Что касается вашей проблемы со старым значением, когда click
еще не был обновлен с добавленной/удаленной стоимостью. Вам нужно подождать галочку, чтобы получить правильный результат:
Добавлено multiple
в шаблон:
multiple
и добавляя ожидание галочку в функцию:
<v-chip-group v-model="selectedFixtures" multiple>
PS, в качестве рекомендации, не вызывайте функции в шаблоне, когда это не нужно, я говорю о this.$nextTick(() => {
if (this.selectedFixtures.length === 1) {
console.log('here')
}
})
, вы могли бы вместо этого использовать вычисляемое свойство.
