本文摘自PHP中文网,作者php中世界最好的语言,侵删。
这次给大家带来vue的本地静态图片路径,使用vue本地静态图片路径的注意事项有哪些,下面就是实战案例,一起来看一下。这里写图片描述
需求:如何components里面的index.vue怎样能把assets里面的图片拿出来。
1.在img标签里面直接写上路径:
1 | <img src= "../assets/a1.png" class = "" width= "100%" />
|
2.利用数组保存再循环输出:
1 2 3 4 5 6 7 8 9 10 11 | <el-carousel-item v- for = "item in carouselData" :key= "item.id" >
<img :src= "item.url" class = "carouselImg" />
<span class = "carouselSpan" >{{ item.title }}</span>
</el-carousel-item>
data: () => ({
carouselData:[
{url: require ( '../assets/a1.png' ),title: '你看我叼吗1' ,id:1},
{url: require ( '../assets/a3.png' ),title: '你看我叼吗2' ,id:2},
{url: require ( '../assets/a4.png' ),title: '你看我叼吗3' ,id:3}
]
}),
|
效果如下:
index.vue里面的完整代码是这个:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 | <template>
<p> <p class = " block" >
<el-carousel class = "carouselBlock" >
<el-carousel-item v- for = "item in carouselData" :key= "item.id" >
<img :src= "item.url" class = "carouselImg" />
<span class = "carouselSpan" >{{ item.title }}</span>
</el-carousel-item>
</el-carousel>
</p>
<footer1></footer1>
<img src= "../assets/a1.png" class = "" width= "100%" />
</p>
</template>
<script>
import footer1 from '../components/public/footer'
export default {
data: () => ({
carouselData:[
{url: require ( '../assets/a1.png' ),title: '你看我叼吗1' ,id:1},
{url: require ( '../assets/a3.png' ),title: '你看我叼吗2' ,id:2},
{url: require ( '../assets/a4.png' ),title: '你看我叼吗3' ,id:3}
]
}),
components:{
footer1
},
}
</script>
<style lang= "scss" >
@import '../style/mixin' ;
.carouselBlock{
width: 100%;
height: REM(300);
position:relative;
.carouselImg{
height: REM(300);
width:100%;
}
.carouselSpan{
position: absolute;
bottom: REM(20);
left: REM(20);
font-size: REM(24);
font-weight: bold;
}
}
.el-carouselcontainer{
width: 100%;
height: REM(300);
}
.el-carouselitem h3 {
color: #475669;
font-size: 14px;
opacity: 0.75;
margin: 0;
}
.el-carouselitem:nth-child(2n) {
background-color: #99a9bf;
}
.el-carouselitem:nth-child(2n+1) {
background-color: #d3dce6;
}
</style>
|
PS:下面看下Vue.js中的图片引用路径
当我们在Vue.js项目中引用图片时,关于图片路径有以下几种情形:
使用一
我们在data里面定义好图片路径
imgUrl:'../assets/logo.png'
然后,在template模板里面
1 2 | <<span class = "hljs-title" style= "box-sizing: border-box; color: rgb(0, 0, 136);" >img src="
{{imgUrl}}">
|
这样是错误的写法,我们应该用v-bind绑定图片的srcs属性
:src="imgUrl">
或者
1 | <span class = "hljs-title" style= "box-sizing: border-box; color: rgb(0, 0, 136);" >img src= "../assets/logo.png" >
|
这种方式是按照正常HTML语法引用路径,放在模板里可以被webpack打包出来。
使用二
当我们需要在js代码里面写图片路径的时候,如果我们在data里面写
imgUrl:'../assets/logo.png'
此时webpack只会把它当做字符串处理从而找不到图片地址,此时我们可以使用import引入图片路径:
1 2 | :src= "avatar" />
import avatar from '@/assets/logo.png'
|
在data里面定义
avatar: avatar
情形三
我们也可以把图片放在外层的static文件夹里面,然后在data里面定义:
1 2 | imgUrl : '../../static/logo.png'
:src= "imgUrl" />
|
相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!
阅读剩余部分
相关阅读 >>
单选和多选按钮如何给图片加样式
layui上传图片成功之后怎么预览成功的图片
css中怎么把图片设置居右
firefox中css如何把图片变成灰色
在canvas中如何实现自定义路径动画?
css怎么设置图片位置居中
css实现图片在div中居中的方法有哪些
vue的本地静态图片路径
html怎么让文字在图片表面
html怎么引入图片
更多相关阅读请进入《路径》频道 >>
人民邮电出版社
本书对 Vue.js 3 技术细节的分析非常可靠,对于需要深入理解 Vue.js 3 的用户会有很大的帮助。——尤雨溪,Vue.js作者
转载请注明出处:木庄网络博客 » vue的本地静态图片路径