приставка.log () не показывает фактическое значение

приставка.log () не показывает фактическое значение

28.01.2020 07:57:08 Просмотров 26 Источник

Я перебираю список, в котором я использовал функцию @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

Является ответом!
AJT82

28.01.2020 10:18:20

Вам нужен массив выбранных фишек, поэтому вы пропускаете multipleиз вашего шаблона (это просто опечатка при написании вопроса?). Что касается вашей проблемы со старым значением, когда clickеще не был обновлен с добавленной/удаленной стоимостью. Вам нужно подождать галочку, чтобы получить правильный результат:

Добавлено multipleв шаблон:

multiple

и добавляя ожидание галочку в функцию:

<v-chip-group v-model="selectedFixtures" multiple> 

Сайт CodePen

PS, в качестве рекомендации, не вызывайте функции в шаблоне, когда это не нужно, я говорю о this.$nextTick(() => { if (this.selectedFixtures.length === 1) { console.log('here') } }) , вы могли бы вместо этого использовать вычисляемое свойство.

https://stackoverflow.com/questions/59953592/console-log-does-not-show-actual-value/59955625#comment106031444_59955625
да, multipleчисло должно было быть скопировано. $nextTick работает, спасибо!
Закрыть X