鍍金池/ 問答/HTML/ vue中如何拼接字符串

vue中如何拼接字符串

圖片描述

src="'../assets/images/data-icon-'+(index+1)+'.jpg'" 如何拼接?
上面的寫法最后的鏈接是對的,可是加載不到圖片

圖片描述

回答
編輯回答
念舊

Vue.js中的圖片引用路徑的方式:
第一種:按照正常HTML語法引用路徑

<template>
  <div id="app">
    <img src="./assets/logo.png">
    <router-view/>
  </div>
</template>

<script>
export default {
  name: 'App',
  data () {
    return {}
  }
}
</script>

第二種:使用import方式

<template>
  <div id="app">
    <img :src="logoSrc">
    <router-view/>
  </div>
</template>

<script>
import logoSrc from './assets/logo.png'
export default {
  name: 'App',
  data () {
    return {
      logoSrc: logoSrc
    }
  }
}
</script>

第三種:使用require方式

<template>
  <div id="app">
    <img :src='require("./assets/logo.png")'>
    <router-view/>
  </div>
</template>

<script>
export default {
  name: 'App',
  data () {
    return {}
  }
}
</script>

返回到您的問題,也直接給您做了一個demo:

<template>
  <div id="app">
    <ul>
      <li v-for="(item, index) in arr" :key="index">
         <!--這個地方用了ES6的模板字符串,模板字符串是增強版的字符串,用反引號(`)標(biāo)識-->
        <img :src="require(`./assets/logo${index}.jpeg`)" alt=""> 
        <p>{{item.text}}</p>
      </li>
    </ul>
    <router-view/>
  </div>
</template>

<script>
export default {
  name: 'App',
  data () {
    return {
      arr: [{
        text: '111'
      }, {
        text: '222'
      }, {
        text: '333'
      }]
    }
  }
}
</script>

效果如下:

clipboard.png

2017年11月20日 14:58
編輯回答
青檸

可以用require, :src="require('../assets/images/data-icon-'+(index+1)+'.jpg')"

2018年1月16日 11:07
編輯回答
悶騷型

拼接沒問題,應(yīng)該是這個地址不對,沒有圖片可以讀取??梢钥聪孪鄬β窂绞遣皇菍戝e了

2017年1月5日 13:44
編輯回答
念舊

網(wǎng)絡(luò)中查下,看圖片是不是404

2018年8月31日 17:00
編輯回答
朽鹿
methods: {
    imgSrc: function(index){
        return '../assets/images/data-icon-'+(index+1)+'.jpg'
    }
}
<img :src="imgSrc(index)">
2018年5月16日 16:32