首頁 > web前端 > Vue.js > vue怎麼讀取本機文件

vue怎麼讀取本機文件

藏色散人
發布: 2023-01-13 00:45:32
原創
19832 人瀏覽過

vue讀取本機檔案的方法:1、透過「function (name) {...}」取得本機的檔案;2、在元件中引入並進行對應的字串處理;3、透過循環將「this.iconList」裡面的值綁定到「」的class即可。

vue怎麼讀取本機文件

本文操作環境:Windows7系統、Vue2.9.6版,DELL G3電腦

vue怎麼讀取本機檔案?

vue中讀取本機檔案

背景

#再專案開發過程中,有動態設定字體圖示的需求,保證圖標選框中的圖示和最後發布的項目圖示庫一致。

思路

讀取本機字體圖示庫文件,然後進行對應的字串轉換,這樣就可以保持圖示的一致啦

步驟

1、取得本機的檔案

1

2

3

4

5

6

7

8

9

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、元件中引入並進行對應的字串處理

1

import loadFile from '../assets/js/localFile';

登入後複製

處理取得的檔案數據

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

// 以.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 裡面的值綁定到 的class 即可。

推薦學習:《最新的5個vue.js影片教學精選

以上是vue怎麼讀取本機文件的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
vue
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板