Vue中圖片的加載方式


一、前言

VUE項目中圖片的加載是必須的,那么vue中圖片的加載方式有哪些呢,今天博主就抽點時間來為大家大概地捋一捋。

二、圖片的加載方法

1、在本地加載圖片(靜態加載)

  • 圖片存放assets文件夾中的img文件下

  • 圖片的加載配置方式

    方式一:使用import方式導入,然后使用v-for進行遍歷

    <template>
    	<el-carousel
          :interval="4000"
          type="card"
          height="200px"
          indicator-position="none">
          <el-carousel-item v-for="item in imgList" :key="item">
            <img :src="item" />
          </el-carousel-item>
       	 </el-carousel>
    	</template>
    <script>
        import banner1 from "@/assets/img/banner1.jpg";
    	import banner1 from "@/assets/img/banner2.jpg";
    	import banner1 from "@/assets/img/banner3.jpg";
    	export default{
            data(){
                return{
                    imgList:[banner1,banner2,banner3],
                }
            }
        }
    </script>
    

    方式二、使用require方式導入,然后使用v-for進行遍歷

    <template>
    	<el-carousel
          :interval="4000"
          type="card"
          height="200px"
          indicator-position="none">
          <el-carousel-item v-for="item in imgList" :key="item">
            <img :src="item" />
          </el-carousel-item>
       	 </el-carousel>
    	</template>
    <script>
    	export default{
            data(){
                return{
                    imgList:[
                         require("@/assets/img1/banner1.jpg"),
            			require("@/assets/img1/banner2.jpg"),
            			require("@/assets/img1/banner3.jpg"),
                    ],
                }
            }
        }
    </script>
    
  • 注:這里推薦使用方式二,因為我們VUE文件在后期打包的時候是通過webpack解析的,它會把我們當前的地址解析為字符串,使得瀏覽器是無法拿到圖片的實際地址的,使用require直接以變量的方式賦值給瀏覽器。更多關於require的使用可以去看看這篇Vue中import和require的對比博文。

2、動態加載圖片

  • 配置文檔build/webpack.base.conf.js

    {
      test: /\.(png|jpe?g|gif|svg)(\?.*)?$/,
      loader: 'url-loader',
      exclude: [resolve('src/icons')],
      options: {
       limit: 10000,
       name: utils.assetsPath('images/[name].[hash:7].[ext]')
      }
      }
    
  • 請求數據

    created() {
     const that = this
     this.request({
      url: '/sysInfoFront/list',
      method: 'get'
     }).then(function(res) {
      const resData = res.data
      if (resData.code === 100) {
      const avatear = resData.data.avater
      resData.data.avatar = avatear
      that.formData = resData.data
      }
     })
     },
    
以上內容就是vue中圖片的請求方式了,如果有哪些不足的地方希望小伙伴們多提提提意見,大家共同進步!!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM