fileChange(el){if(!el.target.files[0].size)return;//this.fileList(el.target);letfile=el.target.files[0];letoFReader=newFileReader();oFReader.readAsDataURL(file);oFReader.onload=function(oFREvent){//console.log(oFREvent.target.result);//base64this.upImgLUrl=oFREvent.target.result;};el.target.value=''console.log(this.upImgLUrl);},这里怎么把oFREvent.target.result传出去到全局?console.log(this.upImgLUrl);打印出来是空
2 回答
沧海一幻觉
TA贡献1824条经验 获得超5个赞
你后边console.log(this.upImgLUrl);肯定打印不出来的,首先oFReader.onload你可以把它看做是一个异步事件,在外面直接获取是获取不了onload里面的赋值的,你可以在onload里面赋值后调用函数把oFREvent.target.result传给函数,然后在函数里面获取functionfileChange(el){letfile=el.target.files[0];letoFReader=newFileReader();oFReader.readAsDataURL(file);oFReader.onload=function(oFREvent){//console.log(oFREvent.target.result);//base64varupImgLUrl=oFREvent.target.result;aaa(upImgLUrl);};el.target.value='';}functionaaa(url){console.log(url)}
素胚勾勒不出你
TA贡献1827条经验 获得超9个赞
改用箭头函数oFReader.onload=(oFREvent)=>{//console.log(oFREvent.target.result);//base64this.upImgLUrl=oFREvent.target.result;};
添加回答
举报
0/150
提交
取消