#vue.js
Вопрос:
<div class="button" @click="shows = !show">
<i class="fas fa-plus-circle" v-if="show"></i>
<i class="fas fa-minus-circle" v-else></i>
</div>
Если я нажму на элемент, он отобразит ошибку «Не найдено (в обещании)». Ошибка типа: Не удается прочитать свойства null (чтение «Вставлялось до»)».
Не знаю почему, но, похоже, возникают проблемы при рендеринге элементов внутри элемента, подключенного с помощью обработчика событий.
Ответ №1:
Это @click="shows = !show"
неверный код. Вы должны объявить функцию в methods
разделе:
methods: {
onClick() {
this.show = !this.show;
}
}
А затем используйте его:
@click="onClick"
Кроме того, может быть, это опечатка? show**s** = !show
Комментарии:
1. Понял это. используя dom. watch() в Fontawesome в vue js, поэтому он преобразовывал <i> в <i><svg>. просто инкапсулируйте <i> с <i><div> и добавьте v-if и v-else в <div><div>. Теперь это работает.