引言
一、静态资源与动态资源
1.1 静态资源
静态资源通常存放在项目的assets
目录下,可以直接在HTML模板中使用<img>
标签的src
属性引用。
1.2 动态资源
动态资源需要通过编程方式动态加载,例如使用require
或import
语法。
二、动态更改图片路径
2.1 使用require
语法
export default {
data() {
return {
imgSrc: require('@/assets/images/example.png')
};
}
};
2.2 使用import
语法
export default {
data() {
return {
imgSrc: import('@/assets/images/example.png')
};
},
created() {
this.imgSrc.then((image) => {
this.imgSrc = image.default;
});
}
};
2.3 使用变量存储图片路径
<template>
<img :src="imgSrc" alt="示例图片">
</template>
<script>
export default {
data() {
return {
imgSrc: 'example.png'
};
},
methods: {
changeImage() {
this.imgSrc = 'new-image.png';
}
}
};
</script>
2.4 使用Vue插值表达式
<template>
<img :src="'@/assets/images/' + imageFileName" alt="示例图片">
</template>
<script>
export default {
data() {
return {
imageFileName: 'example.png'
};
}
};
</script>
三、注意事项
- 路径问题:确保图片路径正确,否则会导致图片无法加载。
- 性能问题:频繁更改图片路径可能会影响页面性能,建议优化资源加载方式。
- 兼容性问题:部分浏览器可能不支持动态更改图片路径,建议进行兼容性测试。