Method of Introducing img Picture into Vue Page

  • 2021-11-29 22:55:29
  • OfStack

When we were learning html, the picture label < img > Introduce pictures


<img src="../assets/images/avatar.png" width="100%">

But there are two drawbacks:

Because the absolute path is introduced, if the following picture moves the directory, it is necessary to modify the path in the generation src If this image is used in multiple places on the same page, it needs to be introduced many times, and the image moves the directory, so many places need to modify the src path

What to do? Use dynamic paths import, require

First of all, let's talk about these two brothers. Before ES6, JS1 didn't have its own module syntax. In order to solve this embarrassment, require. js was introduced. After ES6 was released, JS introduced the concept of import

Introducing using import

After import, you need to register 1 in data, otherwise it will not be displayed


<script>
import lf1 from '@/assets/images/cityOfVitality/lf1.png'
import lf2 from '@/assets/images/cityOfVitality/lf2.png'
import lf3 from '@/assets/images/cityOfVitality/lf3.png'
import lf4 from '@/assets/images/cityOfVitality/lf4.png'
import lf5 from '@/assets/images/cityOfVitality/lf5.png'
import lf6 from '@/assets/images/cityOfVitality/lf6.png'
import lf7 from '@/assets/images/cityOfVitality/lf7.png'
import top1 from '@/assets/images/cityOfVitality/icon_top1.png'
import mixins from './mixins'
export default {
  name: 'LeftPiece',
  mixins: [mixins],
  data () {
    return {
      lf1,
      lf2,
      lf3,
      lf4,
      lf5,
      lf6,
      lf7,
      top1
    }
  }
}
</script>

Introducing using require


<script>
import top1 from '@/assets/images/cityOfVitality/icon_top1.png'
import mixins from './mixins'
export default {
  name: 'RightPiecr',
  mixins: [mixins],
  data () {
    return {
      rt1: require('@/assets/images/cityOfVitality/rt1.png'),
      rt2: require('@/assets/images/cityOfVitality/rt2.png'),
      rt3: require('@/assets/images/cityOfVitality/rt3.png'),
      rt4: require('@/assets/images/cityOfVitality/rt4.png'),
      rt5: require('@/assets/images/cityOfVitality/rt5.png'),
      rt6: require('@/assets/images/cityOfVitality/rt6.png'),
      top1
    }
  }
}
</script>

Related articles: