您好,登錄后才能下訂單哦!
小編給大家分享一下vue如何讀取本地文件,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
vue讀取本地文件的方法:1、通過“function (name) {...}”獲取本地的文件;2、在組件中引入并進(jìn)行相應(yīng)的字符串處理;3、通過循環(huán)將“this.iconList”里面的值綁定到“<i></i>”的class即可。
本文操作環(huán)境:Windows7系統(tǒng)、Vue2.9.6版,DELL G3電腦
vue怎么讀取本地文件?
vue中讀取本地文件
背景
再項(xiàng)目開發(fā)過程中,有動(dòng)態(tài)設(shè)置字體圖標(biāo)的需求,保證圖標(biāo)選框中的圖標(biāo)和最后發(fā)布的項(xiàng)目圖標(biāo)庫一致。
思路
讀取本地字體圖標(biāo)庫文件,然后進(jìn)行相應(yīng)的字符串轉(zhuǎn)換,這樣就可以保持圖標(biāo)的一致啦
步驟
1、獲取本地的文件
const loadFile = function (name) { // name為文件所在位置 let xhr = new XMLHttpRequest(), okStatus = document.location.protocol === "file:" ? 0 : 200; xhr.open('GET', name, false); xhr.overrideMimeType("text/html;charset=utf-8");//默認(rèn)為utf-8 xhr.send(null); return xhr.status === okStatus ? xhr.responseText : null; } export default loadFile;
2、組件中引入并進(jìn)行相應(yīng)的字符串處理
import loadFile from '../assets/js/localFile';
處理獲取到的文件數(shù)據(jù)
// 以.iconfont為節(jié)點(diǎn)分割字符串,只需要.iconfont之后的字符串 let iconData = loadFile('iconfont/iconfont.css').split('.iconfont')[1]; // 獲取第一次出現(xiàn)'}'時(shí)候的索引值 let iconLi = iconData.indexOf('}'); // 得到第一次出現(xiàn)'}'之后的所有字符串信息【這部分就是我們需要的字體圖標(biāo)的信息】 let liList = iconData.substring(iconLi + 1, iconData.length-1); // 分割每個(gè)字體圖標(biāo)信息 let icons = liList.split('.'); // 設(shè)置分割標(biāo)識(shí) let flag = ':before'; // 循環(huán)獲取到的字體圖標(biāo)數(shù)組 for (let i = 0; i < icons.length; i++) { // 判斷不為空 if (icons[i].indexOf(flag) > -1) { // 獲取圖標(biāo)信息中的class部分,也就是:before之前的信息 let liList = icons[i].split(flag); // 將class添加到數(shù)組,最后再頁面上進(jìn)行循環(huán)輸出 this.iconList.push(liList[0]); } }
最后通過循環(huán),將 this.iconList 里面的值綁定到 <i></i> 的 class 即可。
以上是“vue如何讀取本地文件”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。