Bootstrap-vue延迟加载显示旧图像

问题描述 投票:0回答:1

我正在将Nuxt用于我的Web应用程序,并且具有带有图像的项目列表。对于图像延迟加载,我正在使用组件https://bootstrap-vue.js.org/docs/components/image,它工作正常。

我的用法示例:

<div class="item">
   <b-img-lazy :src="imageUrl" />
</div>

我正在过滤项目时出现此问题,因为视图正在重用,而当我过滤时(假设它是10,现在只有1),该项目将具有另一个项目的图像,直到其图像被加载为止。

因此,基本上,除了看到新项目的空白图像外,我还可以看到先前具有相同位置的项目的图像。

有办法重设旧图像吗?

javascript vue.js lazy-loading nuxt.js bootstrap-vue
1个回答
0
投票

v-bind:key可能是您的朋友在这里。绑定密钥将强制完全重新渲染组件,而不只是修补组件的更改。

<div class="item">
   <b-img-lazy :key="imageUrl" :src="imageUrl" />
</div>

此处的文档:https://vuejs.org/v2/guide/list.html#Maintaining-State

© www.soinside.com 2019 - 2024. All rights reserved.