vue讀取本機檔案的方法:1、透過「function (name) {...}」取得本機的檔案;2、在元件中引入並進行對應的字串處理;3、透過循環將「this.iconList」裡面的值綁定到「5a8028ccc7a7e27417bff9f05adf593272ac96585ae54b6ae11f849d2649d9e6」的class即可。
本文操作環境:Windows7系統、Vue2.9.6版,DELL G3電腦
vue怎麼讀取本機檔案?
vue中讀取本機檔案
背景
#再專案開發過程中,有動態設定字體圖示的需求,保證圖標選框中的圖示和最後發布的項目圖示庫一致。
思路
讀取本機字體圖示庫文件,然後進行對應的字串轉換,這樣就可以保持圖示的一致啦
步驟
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");//默认为utf-8 xhr.send(null); return xhr.status === okStatus ? xhr.responseText : null; } export default loadFile;
2、元件中引入並進行對應的字串處理
import loadFile from '../assets/js/localFile';
處理取得的檔案數據
// 以.iconfont为节点分割字符串,只需要.iconfont之后的字符串 let iconData = loadFile('iconfont/iconfont.css').split('.iconfont')[1]; // 获取第一次出现'}'时候的索引值 let iconLi = iconData.indexOf('}'); // 得到第一次出现'}'之后的所有字符串信息【这部分就是我们需要的字体图标的信息】 let liList = iconData.substring(iconLi + 1, iconData.length-1); // 分割每个字体图标信息 let icons = liList.split('.'); // 设置分割标识 let flag = ':before'; // 循环获取到的字体图标数组 for (let i = 0; i < icons.length; i++) { // 判断不为空 if (icons[i].indexOf(flag) > -1) { // 获取图标信息中的class部分,也就是:before之前的信息 let liList = icons[i].split(flag); // 将class添加到数组,最后再页面上进行循环输出 this.iconList.push(liList[0]); } }
最後透過循環,將this.iconList 裡面的值綁定到5a8028ccc7a7e27417bff9f05adf593272ac96585ae54b6ae11f849d2649d9e6 的class 即可。
推薦學習:《最新的5個vue.js影片教學精選》
以上是vue怎麼讀取本機文件的詳細內容。更多資訊請關注PHP中文網其他相關文章!