国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

詳解vue更改頭像功能實現

2019-11-19 11:41:27
字體:
來源:轉載
供稿:網友

如上圖所示:需要完成的功能是點擊更改頭像,獲取本地文件庫,選擇圖片后將原始圖片替換。這里我就直接用html文件引入vue來簡單實現在這功能,代碼如下:

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更改頭像功能實現詳解整合,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 靖宇县| 辽源市| 进贤县| 怀化市| 九江县| 青田县| 安龙县| 辽宁省| 昌吉市| 山阴县| 屏东县| 恭城| 山东| 塘沽区| 顺平县| 昌平区| 乐业县| 七台河市| 保亭| 黔江区| 昌黎县| 玉林市| 玉环县| 东丰县| 海门市| 商水县| 镇安县| 平山县| 同仁县| 克拉玛依市| 郧西县| 石台县| 桃园县| 南平市| 靖江市| 东海县| 锡林郭勒盟| 芦山县| 屏边| 德惠市| 沁水县|