#vue.js #vue-component
Вопрос:
Я разделяю блоки с v-if
помощью-оператора, такого как:
<div v-if="resp > 1023">
<PdfViewer />
</div>
<div v-else>
<PdfViewer />
</div>
Проблема, с которой я столкнулся, заключается в том, что при просмотре на экране меньшей ширины PDFViewer отображается один раз. При ширине более 1023 пикселей он отображается два раза, даже если второе упоминание о нем находится в блоке if-else. Другие html — элементы внутри него не отображаются, но компонент есть.
Соотв. — ширина экрана при монтировании:
mounted() {
this.resp = window.innerWidth;
console.log(this.resp);
}
Комментарии:
1. Удалить » после v-else
2. @Radeanu Проблема была не в этом. Просто опечатка в вопросе, сри.
3. пожалуйста, поделитесь кодом собственности
resp
4. Я предполагаю, что это начальное состояние, в котором соотв » или не определено
5. изменился
mounted
наcreated
?
Ответ №1:
Я решил эту проблему, присвоив значение в созданном крючке жизненного цикла, поэтому значение устанавливается до оценки v-if.
created() {
this.resp = window.innerWidth;
console.log(this.resp);
}