vue如何加载本地图片不通过网络
时间: 2023-09-04 14:04:17 浏览: 108
Vue可以通过以下几种方式来加载本地图片而不通过网络:
1. 使用require语法:在Vue组件中,可以使用require语法来引入本地图片。例如:
```javascript
<template>
<div>
<img :src="require('@/assets/image.png')" alt="本地图片">
</div>
</template>
<script>
export default {
name: 'MyComponent',
}
</script>
```
在上述代码中,通过require语法引入了一个本地图片,并将其作为src绑定到img标签上。
2. 使用import语法:在Vue组件中,可以使用import语法来引入本地图片。例如:
```javascript
<template>
<div>
<img :src="image" alt="本地图片">
</div>
</template>
<script>
import MyImage from '@/assets/image.png';
export default {
name: 'MyComponent',
data() {
return {
image: MyImage,
}
}
}
</script>
```
在上述代码中,通过import语法引入了一个本地图片,并将其赋值给data属性中的image,然后将image绑定到img标签的src属性上。
3. 使用require.context:如果有很多本地图片需要加载,并且图片的路径具有规律性,可以使用require.context来批量引入图片。例如:
```javascript
<template>
<div>
<img v-for="imageName in imageNames" :key="imageName" :src="require('@/assets/' + imageName)" alt="本地图片">
</div>
</template>
<script>
export default {
name: 'MyComponent',
computed: {
imageNames() {
const ctx = require.context('@/assets', false, /\.(png|jpe?g|gif|svg)$/);
return ctx.keys().map(key => key.replace('./', ''));
},
},
}
</script>
```
在上述代码中,使用require.context引入了一批本地图片,并通过v-for循环将它们渲染到img标签中。
需要注意的是,以上方法中的路径引入语句可能需要根据实际情况作出适当的修改。
阅读全文