我正在使用Vue.js构建砌体网格。除某些特殊情况外,它的运行情况非常好。屏幕调整大小后,需要重新计算宽度/高度/填充等。
但是,偶尔情况会变得怪异地不同步,这会破坏设计。
请参阅下面的屏幕截图,其中显示了不同步的数据。我特别强调了右填充的评估,但是宽度也会发生这种情况。
只有在调整页面大小并重新计算后,页面加载才不会发生这种情况。
有没有一种方法可以强制Vue JS组件刷新其计算属性?看来这就是问题所在,但不确定。
这是计算出的属性代码。
imageStyleObject: function () {
return {
width: this.image.width + 'px',
height: this.height + 'px',
paddingRight: this.image.padding_right + 'px',
}
},
<div class="masonry-image-container" :style="imageStyleObject">
<a @click.stop="imageSelected">
<img :src="imagePath" :alt="image.description" :style="styleObject">
</a>
</div>
更新方式
<masonry-image v-for="image in row.images" :key="image.id" :image="image" :height="row.height"></masonry-image>