为了账号安全,请及时绑定邮箱和手机立即绑定

vue中如何拼接字符串

vue中如何拼接字符串

摇曳的蔷薇 2019-03-07 14:08:59
src="'../assets/images/data-icon-'+(index+1)+'.jpg'" 如何拼接?上面的写法最后的链接是对的,可是加载不到图片
查看完整描述

3 回答

?
白猪掌柜的

TA贡献1893条经验 获得超10个赞

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的模板字符串,模板字符串是增强版的字符串,用反引号(`)标识-->

        <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>

效果如下:

https://img1.sycdn.imooc.com//5c875e6400019b5806200800.jpg

查看完整回答
反对 回复 2019-03-12
?
红糖糍粑

TA贡献1815条经验 获得超6个赞

拼接没问题,应该是这个地址不对,没有图片可以读取。可以看下相对路径是不是写错了


查看完整回答
反对 回复 2019-03-12
?
芜湖不芜

TA贡献1796条经验 获得超7个赞

methods: {

    imgSrc: function(index){

        return '../assets/images/data-icon-'+(index+1)+'.jpg'

    }

}

<img :src="imgSrc(index)">


查看完整回答
反对 回复 2019-03-12
  • 3 回答
  • 0 关注
  • 8815 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号