一、静态图片在Vue中的位置
二、使用绝对路径引用图片
<img src="/static/images/logo.png" alt="Logo">
三、使用变量动态设置图片路径
<template>
<img :src="imageSrc" alt="Dynamic Image">
</template>
<script>
export default {
data() {
return {
imageSrc: '/static/images/dynamic.jpg'
};
}
};
</script>
四、处理网络图片
<template>
<img :src="imageUrl" alt="Network Image">
</template>
<script>
import axios from 'axios';
export default {
data() {
return {
imageUrl: ''
};
},
mounted() {
axios.get('http://example.com/image.jpg')
.then(response => {
this.imageUrl = response.data;
})
.catch(error => {
console.error('Error fetching image:', error);
});
}
};
</script>
五、优化图片加载
- 使用适当的图片格式:根据图片内容选择合适的格式,如JPEG适用于照片,PNG适用于透明或简单的图形。
- 压缩图片:使用图片压缩工具减少图片文件大小,同时尽量保持图片质量。
- 懒加载:使用懒加载技术,只有当图片进入视窗时才开始加载。
六、实例详解
以下是一个结合了以上技巧的Vue组件实例:
<template>
<div>
<img :src="imageSrc" alt="Optimized Image" @load="imageLoaded">
</div>
</template>
<script>
export default {
data() {
return {
imageSrc: '/static/images/optimized.jpg',
isImageLoaded: false
};
},
methods: {
imageLoaded() {
this.isImageLoaded = true;
console.log('Image loaded');
}
}
};
</script>