Я занимаюсь разработкой приложения vue2 + nuxt и использую пакет сохраненных состояний vuex +.В одном из компонентов я отображаю div с условием, основанным на логической переменной состояния:
<template>
<div class="nav__topbar" v-if="show">
....
</div>
</template>
<script>
export default {
computed: {
show() {
return this.$store.state.navInfo.navInfo
}
}
}
</script>
Все отлично работает - если this.$store.state.navInfo.navInfo
true, то отображается, если не исчезает.Кроме того, после обновления он все еще работает.
Единственная проблема, которую я не могу решить, это то, что, когда логическое значение false после обновления, div показывают в течение доли секунды.Он исчезает после, скажем, .2s, но даже при том, что он настолько быстрый, он все равно заставляет страницу «прыгать», потому что .nav__topbar
имеет ширину 100% и высоту 20vh.Так что на долю секунды я вижу этот div, затем он скрывается, и все страницы поднимаются вверх, что выглядит очень некрасиво, и я не могу это игнорировать.
Есть ли способ предотвратить такое поведение?
Может быть, я смогу использовать эти хуки fetch () или asyncData, предоставляемые Nuxt?