The image cannot be rendered using v-for (the image has been src through the API)

problem description

the picture cannot be rendered using v-for (the picture has already been src through the API)
the environment background and what methods you have tried

clipboard.png
clipboard.png
clipboard.png

related codes

<template>
<div class="recommend">
    <div class="recommend-content">
        <div class="slider-wrapper">
            <slider>
                <div v-for="item in recommends">
                    <a :href="item.linkUrl">
                        <img :src="item.picUrl"/>
                    </a>
                </div>
            </slider>
        </div>
        <div class="recommend-list">
            <h1 class="list-title"></h1>
        </div>
        <ul></ul>
    </div>
</div>
</template>

<script type="text/ecmascript-6">
import Slider from "base/slider/slider"
import {getRecommend} from "api/recommend"
import {ERR_OK} from "api/config"

export default {
  data () {
    return {
      recommends: []
    }
  },
  created () {
    this._getRecommend()
  },
  methods: {
    _getRecommend () {
      getRecommend().then((res) => {
        if (res.code === ERR_OK) {
          // console.log(res.data.slider)
          this.recommends = res.data.slider
        }
      })
    }
  },
  components: {
    Slider
  }
}

</script>

<style scoped lang="stylus" rel="stylesheet/stylus">
  @import "~common/stylus/variable"

  .recommend
    position: fixed
    width: 100%
    top: 88px
    bottom: 0
    .recommend-content
      height: 100%
      overflow: hidden
      .slider-wrapper
        position: relative
        width: 100%
        height: 0
        padding-top: 40%
        overflow: hidden
        .slider-content
          position: absolute
          top: 0
          left: 0
          width: 100%
          height: 100%
      .recommend-list
        .list-title
          height: 65px
          line-height: 65px
          text-align: center
          font-size: $font-size-medium
          color: $color-theme
        .item
          display: flex
          box-sizing: border-box
          align-items: center
          padding: 0 20px 20px 20px
          .icon
            flex: 0 0 60px
            width: 60px
            padding-right: 20px
          .text
            display: flex
            flex-direction: column
            justify-content: center
            flex: 1
            line-height: 20px
            overflow: hidden
            font-size: $font-size-medium
            .name
              margin-bottom: 10px
              color: $color-text
            .desc
              color: $color-text-d
      .loading-container
        position: absolute
        width: 100%
        top: 50%
        transform: translateY(-50%)
</style>

what result do you expect? What is the error message actually seen?

the console does not report an error message

Dec.08,2021

the image is already rendered in dom, and the console does not report an error, which has nothing to do with the writing of v-for. It is likely to be a css problem. Obscured or hidden or there is a problem with the picture url. It will not go beyond these situations. Just go through it one by one.


data obtained asynchronously requires the sync modifier
: src.sync = 'imgUrl'


Yes css is not done

Menu