中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

使用vue怎么實現一個更改頭像功能

發布時間:2021-04-20 16:22:42 來源:億速云 閱讀:629 作者:Leah 欄目:web開發

這期內容當中小編將會給大家帶來有關使用vue怎么實現一個更改頭像功能,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

Vue的優點

Vue具體輕量級框架、簡單易學、雙向數據綁定、組件化、數據和結構的分離、虛擬DOM、運行速度快等優勢,Vue中頁面使用的是局部刷新,不用每次跳轉頁面都要請求所有數據和dom,可以大大提升訪問速度和用戶體驗。

HTML:

<div id="app">
 <div class="item_bock head_p">
   <div class="head_img">
    <img :src="userInfo.avatar"/>
    <--圖片地址動態綁定-->
   </div>
   <div class="setting_right" @click.stop="uploadHeadImg">
    <div class="caption">更改頭像</div>
   </div>
   <input type="file" accept="image/*" @change="handleFile" class="hiddenInput"/>
  </div>
 </div>

注意:

1.accept 屬性用于限制圖像的格式 如:(accept=”image/gif, image/jpeg”),accept=”image/*”表示不限制格式。
2.真正打開本地文件的是input,但這里是將其隱藏的。

JS:

var app = new Vue({
 el: '#app',
 data: {
  userInfo: {
   avatar: 'https://gss0.bdstatic.com/-4o3dSag_xI4khGkpoWK1HF6hhy/baike/c0%3Dbaike92%2C5%2C5%2C92%2C30/sign=62d46c39067b020818c437b303b099b6/d4628535e5dde7119c3d076aabefce1b9c1661ba.jpg'
  }
  // 初始圖片
 },
 methods: {
  // 打開圖片上傳
  uploadHeadImg: function () {
   this.$el.querySelector('.hiddenInput').click()
  },
  // 將頭像顯示
  handleFile: function (e) {
   let $target = e.target || e.srcElement
   let file = $target.files[0]
   var reader = new FileReader()
   reader.onload = (data) => {
    let res = data.target || data.srcElement
    this.userInfo.avatar = res.result
   }
   reader.readAsDataURL(file)
  },
 }
})

注意:

  1.  1.this.$el.querySelector('.hiddenInput') 是獲取文檔中 class=”hiddenInput” 的元素。

  2. 2.在打開文件夾選中圖片確認后,執行handleFile函數

  3. 3.let $target = e.target || e.srcElement 表示調用他的各種屬性,兩個的區別是:ie下支持e.srcElement,ff支持e.target。

  4. 4.由于手機上可以選擇多張圖片,所以let file = $target.files[0],表示取第一張圖。

  5. 5.var reader = new FileReader() FileReader 對象允許Web應用程序異步讀取存儲在用戶計算機上的文件(或原始數據緩沖區)的內容,使用 File 或 Blob 對象指定要讀取的文件或數據。

  6. 6.onload 事件會在頁面或圖像加載完成后立即發生。

  7. 7.FileReader對象的readAsDataURL方法可以將讀取到的文件編碼成Data URL。

css:

.item_bock {
 display: flex;
 align-items: center;
 justify-content: space-between;
 height:94px;
 width: 300px;
 padding:0px 24px 0px 38px;
 border-bottom: 1px solid #f7f7f7;
 background: #fff;
}
.head_p {
 height:132px;
}
.head_img{
 height: 90px;
}
.head_img img{
 width:90px;
 height:90px;
 border-radius:50px
}
.setting_right{
 display: flex;
 height: 37px;
 justify-content: flex-end;
 align-items: center;
}
.hiddenInput{
 display: none;
}
.caption {
 color: #8F8F8F;
 font-size: 26px;
 height: 37px;
}

這里只是將圖片顯示出來,并沒有保存起來,如果需要上傳或者保存,需要后臺接口配合。

上述就是小編為大家分享的使用vue怎么實現一個更改頭像功能了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

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

vue
AI

南部县| 灌云县| 宁河县| 扬州市| 齐齐哈尔市| 砚山县| 长泰县| 高阳县| 府谷县| 铁岭市| 甘谷县| 石狮市| 博湖县| 杨浦区| 赣榆县| 东源县| 高尔夫| 嫩江县| 广丰县| 象山县| 芦溪县| 闸北区| 迁安市| 阿拉善右旗| 宜阳县| 建瓯市| 兴城市| 乐亭县| 白朗县| 金溪县| 赤城县| 察隅县| 广南县| 锡林浩特市| 民丰县| 阳江市| 洪洞县| 吉隆县| 浮山县| 沈丘县| 桑日县|