封装控件到html标签中,如何给封装在组件内的

这篇博客探讨了在Vue组件中如何正确地通过props传递图像源(imgSrc)以实现动态加载。由于webpack的处理机制,直接赋值字符串或变量无法得到处理后的图像路径。推荐两种解决方案:1) 使用require()引入图片,传入字符串参数;2) 通过import导入图片,然后在data中定义变量绑定。这两种方法确保了图像路径在构建过程中被正确处理。
摘要由CSDN通过智能技术生成

例如:

组件TabBarItem.vuecss

{{title}}

exportdefault {

name:'TabBarItem',

props: {

title: {

type:String,

default:''

},

imgSrc: {

type:String,

default:''

}

}

}

对于封装在组件内的元素,不但愿将其src硬编码,可将其与组件的props属性imgSrc绑定,而后经过imgSrc传入值。

注意:不能给imgSrc直接赋一个字符串,或一个变量。

缘由:[html-loader]会将my-image.png图像处理并添加到output目录,并且src属性将包含该图像处理后的最终url。可是直接赋一个字符串,或一个变量,值不会作处理,不是图像的最终地址。 html

有两种实现方式:

1、经过 require() 来引入图片,但要给它一个字符串参数。vue

2、将经过import将图片导入后,而后做为data选项的属性值,再绑定给imgSrc。webpack

import homeImg from'assets/img/tabbar/home.svg'

export default {

name:'TabBar',

data () {

return {

homeImg:homeImg

}

},

components: {

TabBarItem

}

}

参考webpack:web

import MyImage from './my-image.png'

// 该图像将被处理并添加到`output`目录,而且`MyImage`变量将包含该图像在处理后的最终 url。

// [html-loader]以相同的方式处理`my-image.png`。

// [css-loader],CSS中的`url('./my-image.png')`会使用相似的过程去处理。loader会识别这是一个本地文件,并将`'./my-image.png'`路径,替换为`输出`目录中图像的最终路径。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值