1. 使用require给图片赋值

<template>
  <img :src="imageSrc" alt="Example Image">
</template>

<script>
export default {
  data() {
    return {
      imagePath: 'path/to/image.jpg'
    };
  },
  computed: {
    imageSrc() {
      return require(this.imagePath);
    }
  }
};
</script>

2. 使用computed属性优化性能

<template>
  <img :src="imageSrc" alt="Example Image">
</template>

<script>
export default {
  data() {
    return {
      imagePath: 'path/to/image.jpg'
    };
  },
  computed: {
    imageSrc() {
      return this.imagePath;
    }
  }
};
</script>

在这个例子中,imageSrc直接返回imagePath的值,因为imagePath不需要响应式处理。

3. 直接在样式中设置背景图片

<template>
  <div class="image-container" :style="{ backgroundImage: 'url(' + imagePath + ')' }"></div>
</template>

<style>
.image-container {
  width: 100px;
  height: 100px;
  background-size: cover;
}
</style>

<script>
export default {
  data() {
    return {
      imagePath: 'path/to/image.jpg'
    };
  }
};
</script>

在这个例子中,.image-container类的backgroundImage属性被设置为动态URL。

4. 处理接口返回的图片URL

<template>
  <img :src="imageUrl" alt="Image from API">
</template>

<script>
export default {
  data() {
    return {
      imageUrl: 'https://api.example.com/image.jpg'
    };
  }
};
</script>

5. 转换图片ID为URL

<template>
  <img :src="getImageUrl(imageId)" alt="Image with ID">
</template>

<script>
export default {
  data() {
    return {
      imageId: '12345'
    };
  },
  methods: {
    getImageUrl(id) {
      return 'https://api.example.com/images/' + id;
    }
  }
};
</script>

总结