vue.js - 如果在 Vue 3 中加载动态变化的图像,则更改 CSS
问题描述
我正在尝试根据是否加载图像来更改 div 的 CSS 类。图片 URL 取自<input>
字段,因此<img src>
可以更改。我已经设法使用该@load
事件在第一个页面加载时设置 CSS 类。但是,如果我将输入字段中的图像 URL 更改为不存在的图像,则 CSS 不会更改。如何跟踪输入的值是否已更改并“重新检查”图像是否已加载?
在下面的示例中,我想知道green-bg
图像是否存在以及red-bg
图像是否不存在。
<div id="app">
<div :class="imgLoaded ? 'green-bg' : 'red-bg'">
<img :src=imgURL @load="imgLoaded = true" />
<br/>
<input v-model="imgURL" />
</div>
</div>
<script>
export default {
data() {
return {
imgURL: 'https://picsum.photos/200/300',
imgLoaded: false,
};
}
};
</script>
解决方案
添加到您的输入:
<input type="text" v-model="imgURL" @input="updateURL">
并在方法部分创建函数:
updateURL() {
this.imgLoaded = false
}
推荐阅读
- flutter - 如何从颤振集团全局收听?
- java - 在 HTML 中显示数据时舍入到小数点后 1
- linux - 使用 Unix/Linux 命令遍历一定数量的行后,根据模式拆分一行
- jpa - 多对多关系 JPA 与实体
- postgresql - 使用 gorm 查询字符串数组
- flutter - 如何在生产中停用应用程序 - 可以添加代码吗?
- azure - 将现有 Azure 资源组导入 terraform 状态
- php - Doctrine ORM 可空选项不适用于 PostgreSQL
- c# - 在表格外使用放大镜
- reactjs - 模块 AppRegistry 不是注册的可调用模块 React Native