91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Vue中怎么實現頭像處理

發布時間:2021-06-11 17:45:41 來源:億速云 閱讀:328 作者:Leah 欄目:web開發

Vue中怎么實現頭像處理,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

代碼實現

<template>
  // 外面要給一個div并且限制寬度和高度,text-align center,overflow hidden
  <div class="head">
    // userInfoList.avatar 是后臺返回給我的頭像URL
    <img v-lazy="userInfoList.avatar" id="userhead" alt=""/>  
  </div>
  <div class="fl" v-for="(item, index) in matchList" :key="index">
    <div class="heads">
      <img v-lazy="item.adatar" class="headitem" alt=""/>
    </div>
  </div >
</template>
<script>
import { head, heads } from '@/assets/js/base'  // 存放head,heads目錄引入
export default {
data(){
 return {
   listQuery:{
     pg: 1,
     ps: 10
  }
},
methods:{
  //獲取用戶詳情
  getUserInfoList(){
   getlist('mobile/user/pers/detail', funciton(res) {
     if(data.code == ERR_OK){
        _this.userInfoList = res.data
        // 單個頭像處理,$nextTick處理去報 數據加載完成后 在進行圖
        _this.$nextTick(function () { 
           head(res.data.avatar, 'userhead')
        })
        // 下拉加載多個頭像處理
        res.data.item.forEach((item, index) => {
          if(_this.listQuery.pg>1){ // 下拉加載時,頭像依然要進行處理
             let count = (10*(_this.listQuery.pg -1) + index)
             _this.$nextTick(function () {
                heads(item.adatar, count, 'headitem')
             })
          }else{
            _this.$nextTick(function () {
               heads(item.adatar, index, 'headitem')
            })
          }
        } 
      _this.listQuery.pg++
    }
  })
 }

assets文件js下的base.js

// 單個頭像處理
export function head (objUrl, id) {
   let _userhead = document.getElementById(id)
   if(_userhead){
      if(objUrl){
        let img = new Image()
        img.src = objUrl
        img.onload = function () {
            let _width = img.width
            let _height = img.height
            if(_width >= _height){
              _userhead.style.width = '100%'
           }else{
              _userhead.style.height = '100%'
            }
        }
      }else{
         _userhead.style.width = '100%'
      }
   }
}
// 多個頭像處理
export function heads (objUrl, index, className) {
    let _heads = document.getElementsByClassName(className)[index]
    if(_heads){
      if(objUrl){
        let img = new Image()
        img.src = objUrl
        img.onload = function () {
           let _width = img.width
           let _height = img.height
           if(_width >= _height){
              _heads.style.width = '100%'
           }else{
             _heads.style.height = '100%'
           }
       }
     }else{
         _heads.style.width = '100%'
     }
  }
}

關于Vue中怎么實現頭像處理問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

vue
AI

临朐县| 旬阳县| 上思县| 宁波市| 威远县| 伽师县| 肃宁县| 双柏县| 五华县| 宁化县| 辛集市| 礼泉县| 南昌县| 紫云| 平江县| 白城市| 广德县| 搜索| 固始县| 凤山县| 治多县| 双辽市| 社旗县| 会同县| 合水县| 阿勒泰市| 咸宁市| 屏东县| 焉耆| 扶绥县| 合肥市| 新干县| 龙山县| 洞头县| 宜兰县| 盐池县| 洛浦县| 六盘水市| 百色市| 太仆寺旗| 囊谦县|