VUE 之_this.da 和 this

Posted zytcomeon

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VUE 之_this.da 和 this相关的知识,希望对你有一定的参考价值。

作者:张艳涛

日期:2020-07-29


this用在第一层,如果在JS第3二层,要用 _this

            importfxx(obj) {

                let _this = this;
                let inputDOM = this.$refs.inputer;   // 通过DOM取文件数据
                this.file = event.currentTarget.files[0];
                var rABS = false//是否将文件读取为二进制字符串
                var f = this.file;
                var reader = new FileReader();
                //if (!FileReader.prototype.readAsBinaryString) {
                FileReader.prototype.readAsBinaryString = function(f) {
                    var binary = "";
                    var rABS = false; //是否将文件读取为二进制字符串
                    var pt = this;
                    var wb; //读取完成的数据
                    var outdata;
                    var reader = new FileReader();
                    reader.onload = function(e) {
                        var bytes = new Uint8Array(reader.result);
                        var length = bytes.byteLength;
                        for(var i = 0; i < length; i++) {
                            binary += String.fromCharCode(bytes[i]);
                        }
                        var XLSX = require(xlsx);
                        if(rABS) {
                            wb = XLSX.read(btoa(fixdata(binary)), { //手动转化
                                type: base64
                            });

                        } else {
                            wb = XLSX.read(binary, {
                                type: binary
                            });
                        }
                        // outdata就是你想要的东西 excel导入的数据
                        outdata = XLSX.utils.sheet_to_json(wb.Sheets[wb.SheetNames[0]]);
                        console.log(未处理的原始数据如下:);
                        console.log(outdata);
                        // excel 数据再处理
                        let arr = []
                        outdata.map(v => {
                            let obj = {}
                            obj.s1 = v[员工号]
                            obj.s2 = v[员工姓名]
                            obj.s3 = v[员工邮箱]
                            obj.s4 = v[部门编号]
                            obj.s5 = v[部门名称]
                            obj.s6 = v[职位1]
                            obj.s7 = v[职位2]
                            obj.s8 = v[上级领导1]
                            obj.s9 = v[上级领导2]
                            arr.push(obj)

                        })
                        _this.da=arr;
                  _this.dalen=arr.length;
                        console.log("this is a mark for list.vue line 242")
                        console.log( this.accountList);
                        this.zytloading=true;
                            _this.showtable2=true;

                    }
                    reader.readAsArrayBuffer(f);
                }
                if(rABS) {
                    reader.readAsArrayBuffer(f);
                } else {
                    reader.readAsBinaryString(f);
                }
            }

 

以上是关于VUE 之_this.da 和 this的主要内容,如果未能解决你的问题,请参考以下文章

使用带有渲染功能的 Vue.js 3 片段

Discuz代码片段

vscode之快速生成vue模板

vue的ajax请求之axios

Vue源码之 $emit

ENVI PCA unable to compute convarirance statistics because there are NaN pixels contained in this da