Я использовал keep-alive для кэширования страниц A и B в Vue, использовал один и тот же компонент на странице, а затем использовал ref
в компоненте, чтобы получить текущую ширину компонента. Это было нормально, когда я впервые зашел на какую-либо страницу, но когда я переключился со страницы A на страницу B или со страницы B на страницу A во второй раз, ширина печатного компонента была равна 0. Позже я обнаружил, что он выводится. Является ли ширина компонента первой страницы, потому что она не отображается, поэтому ширина равна 0. Есть ли способ ее решить?
Vue 2.6.10
Это компонент.
<div class="waterfall" ref="cardsBox">
console.log('cardBox',this.$refs.cardsBox.offsetWidth);
Использование страниц A и B
<waterfall :list="articles" horizontal="3" vertical="2">
<template v-slot="props">
......
</template>
</waterfall>