您好,登錄后才能下訂單哦!
今天小編給大家分享一下Vue中如何實(shí)現(xiàn)頭像處理的相關(guān)知識點(diǎn),內(nèi)容詳細(xì),邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。
代碼實(shí)現(xiàn)
<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處理去報(bào) 數(shù)據(jù)加載完成后 在進(jìn)行圖 _this.$nextTick(function () { head(res.data.avatar, 'userhead') }) // 下拉加載多個頭像處理 res.data.item.forEach((item, index) => { if(_this.listQuery.pg>1){ // 下拉加載時(shí),頭像依然要進(jìn)行處理 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中如何實(shí)現(xiàn)頭像處理”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學(xué)習(xí)更多的知識,請關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。