vue-cli4.4.4中图片的动态绑定

vue中图片的引入方式

给图片地址绑定变量

<template>
    <img :src="imgUrl">
</template>

1.直接将图片引入为模块

<script>
	 require imgUrl from "../assets/test.png"
</script>

2.将imgUrl放在数据里

data(){
	return {
		imgUrl:require("../assets/test.png")
		}
    }

vue中图片的绑定方式

当我们直接填充地址模板时

<ul>
	<li v-for="(item,index) in list" :key="index">
		<img :src="item.path" alt="">
	</li>
</ul>
...
export default {
	data() {
            return {
                list: [{
                    id: 0,
                    path: '../../assets/online-1.webp',
                }]
            }
}

虽然并未发生报错,但是图片无法显示出来,因为我们使用的是相对目录,在项目打包后,assets里的静态资源目录会发生改变,此时我们渲染到页面中的src地址是失效的

1.动态绑定

在data返回的对象中添加publicPath属性
引入public中的图片

data() {
	return {
		publicPath: process.env.BASE_URL
	}

利用es6语法,``符号里利用 符 号 和 大 括 号 将 参 数 传 入 , 这 里 符号和{}大括号将参数传入,这里 {publicPath}可以理解为 public/目录,他是有带反斜杠的,所以记得后面不要接反斜杠,然后再将for循环出来的图片名参数传入

<img :src="`${publicPath}img/${item.path}`" alt="">
...
data() {
	return {
		list[{
			id:0,
			path:'online-1.webp'
			}]
		}

2.import引入

如果需要引入assets目录下的图片

import img01 from '@/assets/img/online-1.webp'

img01 为自定义的名字,此时图片就会被正确引入,然后我们还要调用

<ul>
	<li v-for="(item,index) in list" :key="index">
		<img :src="item.path" alt="">
	</li>
</ul>
...
<script>
	import img01 from '@/assets/img/online-1.webp'
	export default {
		data() {
            return {
            	list: [{
                	id: 0,
                	path: img01
                	}]
                }
          	}
</script>

以上就是两个关于绑定本地图片的方法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值