Не пойманный (в обещании) Ошибка типа: Не удается прочитать свойства null (чтение «insertBefore»)

#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>. Теперь это работает.