引言

一、静态资源与动态资源

1.1 静态资源

静态资源通常存放在项目的assets目录下,可以直接在HTML模板中使用<img>标签的src属性引用。

1.2 动态资源

动态资源需要通过编程方式动态加载,例如使用requireimport语法。

二、动态更改图片路径

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>

三、注意事项

  1. 路径问题:确保图片路径正确,否则会导致图片无法加载。
  2. 性能问题:频繁更改图片路径可能会影响页面性能,建议优化资源加载方式。
  3. 兼容性问题:部分浏览器可能不支持动态更改图片路径,建议进行兼容性测试。

四、总结