亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

js中this指向問題

js中this指向問題

一只名叫tom的貓 2019-05-24 10:14:25
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);//base64
varupImgLUrl=oFREvent.target.result;
aaa(upImgLUrl);
};
el.target.value='';
}
functionaaa(url){
console.log(url)
}
                            
查看完整回答
反對 回復 2019-05-24
?
素胚勾勒不出你

TA貢獻1827條經驗 獲得超9個贊

改用箭頭函數
oFReader.onload=(oFREvent)=>{
//console.log(oFREvent.target.result);//base64
this.upImgLUrl=oFREvent.target.result;
};
                            
查看完整回答
反對 回復 2019-05-24
  • 2 回答
  • 0 關注
  • 379 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號