考虑以下代码片段:
<template v-if="tryIsMobile" >
<div class='device device-mobile-portrait' :class="deviceClass">
<div class="device-scroller-container">
<div class='device-scroller'>
<img id='tryit-img-mobile' :src="srcUrlMobile" v-on:load="onImgLoad" v-on:error="onImgError"/>
</div>
</div>
</div>
</template>
<template v-else>
<div class='device device-tablet-landscape' :class="deviceClass" >
<div class="device-scroller-container">
<div class='device-scroller'>
<img id='tryit-img-tablet' :src="srcUrlTablet" v-on:load="onImgLoad" v-on:error="onImgError"/>
</div>
</div>
</div>
</template>
这段代码有条件地渲染其中的两个图像。某些用户操作会导致实际显示的图像切换。
我看到的情况是:从tryit-img-mobile
切换到tryit-img-tablet
时,作为tryit-img-mobile
一部分加载的图像会立即以不同尺寸显示。然而,在加载图像的新源:src="srcUrlTablet"
的时间内,仍会显示具有源:src="srcUrlMobile"
的图片。
这可能是因为Vue在两个模板中使用相同的img标签。我该如何防止Vue这样做,而是使用单独的img标签?