Javascript 未通过:src加载动态图像
我正在开发一个简单的Vue应用程序,为此使用Vue cli和webpack 所以基本上我有两个组件,一个父组件和一个子组件~ 像这样:Javascript 未通过:src加载动态图像,javascript,image,vue.js,webpack,Javascript,Image,Vue.js,Webpack,我正在开发一个简单的Vue应用程序,为此使用Vue cli和webpack 所以基本上我有两个组件,一个父组件和一个子组件~ 像这样: <template> <div class="triPeaks__wrapper"> <div class="triPeaks"> <tri-tower class="tower"></tri-tower>
<template>
<div class="triPeaks__wrapper">
<div class="triPeaks">
<tri-tower class="tower"></tri-tower>
<tri-tower class="tower"></tri-tower>
<tri-tower class="tower"></tri-tower>
</div>
<div class="triPeaks__line">
<tower-line :towerLine="towerLineCards" />
</div>
<tri-pack />
</div>
</template>
<template>
<div class="towerLine-wrapper">
<div class="towerLine">
<img v-for="index in 10" :key="index" class="towerLine__image" :src="getImage(index)" alt="">
</div>
</div>
</template>
<script>
export default {
props: {
towerLine: {
type: Array,
required: true
}
},
method: {
getImage (index) {
return '@/assets/images/cards/1.png'
}
}
}
</script>
<style lang="scss">
.towerLine {
display: flex;
position: relative;
top: -90px;
left: -40px;
&__image {
width: 80px;
height: 100px;
&:not(:first-child) {
margin-left: 3px;
}
}
}
</style>
towerLineCards是重要的东西,它是传递给塔线组件的一个道具,基本上是一个包含10个元素的数组,它是一个包含10个随机数字的数组,所以它可以是这样的:
[1,5,2,6,8,9,16,25,40,32]
此阵列是通过生命周期上的beforeMount创建的
在子组件上:
<template>
<div class="triPeaks__wrapper">
<div class="triPeaks">
<tri-tower class="tower"></tri-tower>
<tri-tower class="tower"></tri-tower>
<tri-tower class="tower"></tri-tower>
</div>
<div class="triPeaks__line">
<tower-line :towerLine="towerLineCards" />
</div>
<tri-pack />
</div>
</template>
<template>
<div class="towerLine-wrapper">
<div class="towerLine">
<img v-for="index in 10" :key="index" class="towerLine__image" :src="getImage(index)" alt="">
</div>
</div>
</template>
<script>
export default {
props: {
towerLine: {
type: Array,
required: true
}
},
method: {
getImage (index) {
return '@/assets/images/cards/1.png'
}
}
}
</script>
<style lang="scss">
.towerLine {
display: flex;
position: relative;
top: -90px;
left: -40px;
&__image {
width: 80px;
height: 100px;
&:not(:first-child) {
margin-left: 3px;
}
}
}
</style>
导出默认值{
道具:{
towerLine:{
类型:数组,
必填项:true
}
},
方法:{
getImage(索引){
返回“@/assets/images/cards/1.png”
}
}
}
towerLine先生{
显示器:flex;
位置:相对位置;
顶部:-90px;
左:-40px;
&__形象{
宽度:80px;
高度:100px;
&:不是(:第一个孩子){
左边距:3倍;
}
}
}
问题在于我通过getImage()返回的:src映像,这样它就不工作了。如果我改为just src,它工作得很好,我这样做只是为了测试,因为当我让它工作时,路径中的数字应该是动态的
这种方法有什么问题?有什么帮助吗
谢谢首先,对于
getImage()
,您应该使用computed属性而不是方法
为了解决另一个问题,您可以在调用特定图像时添加
require(YOUR_IMAGE_PATH)
,或者将其放入/static/YOUR_IMAGE.png
中,而不是@/assets/images/cards/1.png
在computed
中添加getImage(),查看方法和计算的区别:这并不能解决问题,我添加了一个方法,因为我需要索引来知道要渲染的图像。我将其更改为computed属性并返回静态字符串。同样的问题。如果我直接传递路径,唯一的区别是:src不工作,src工作正常