第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

萌新!typescript對象里中括號引用應(yīng)該怎么寫才正確?萬分感謝

萌新!typescript對象里中括號引用應(yīng)該怎么寫才正確?萬分感謝

SMILET 2019-11-03 09:36:32
constTween={Linear:(t:number,b:number,c:number,d:number)=>(c*t)/d+b,Quad:{easeIn:(t:number,b:number,c:number,d:number)=>c*(t/=d)*t+b,easeOut:(t:number,b:number,c:number,d:number)=>-c*(t/=d)*(t-2)+b,easeInOut:(t:number,b:number,c:number,d:number)=>((t/=d/2){const[name,func]=tween.split('.');if(!func)returnTween.Linear;//Tween[name]這里會報(bào)錯//elementimplicitlyhasananytypebecauseexpressionoftypestringcantbeusedtoindexreturnTween[name][func];};謝過各位大佬
查看完整描述

2 回答

?
慕勒3428872

TA貢獻(xiàn)1848條經(jīng)驗(yàn) 獲得超6個(gè)贊

TypeScript目前還不支持字面量類型拆分組合,你可以
Tween扁平化,不搞多層。
強(qiáng)制轉(zhuǎn)換split出來的類型,這需要你同時(shí)手動維護(hù)兩個(gè)type。
或者tween用string類型,對split出來的結(jié)果做額外判斷,確保Tween中有對應(yīng)的域。
按2的例子:
constTween={
Linear:(t:number,b:number,c:number,d:number)=>(c*t)/d+b,
Quad:{
easeIn:(t:number,b:number,c:number,d:number)=>c*(t/=d)*t+b,
easeOut:(t:number,b:number,c:number,d:number)=>-c*(t/=d)*(t-2)+b,
easeInOut:(t:number,b:number,c:number,d:number)=>((t/=d/2)<1?(c/2)*t*t+b:(-c/2)*(--t*(t-2)-1)+b),
}
}
typeTweenFunc=
|'Linear'
|'Quad.easeIn'
|'Quad.easeOut'
|'Quad.easeInOut';
+typeTweenNameFuncPair=
+|['Linear']
+|['Quad','easeIn']
+|['Quad','easeOut']
+|['Quad','easeInOut']
exportdefault(tween:TweenFunc)=>{
+constpair=tween.split('.')asTweenNameFuncPair;
+if(!pair[1])returnTween.Linear;
+returnTween[pair[0]][pair[1]];
};
                            
查看完整回答
反對 回復(fù) 2019-11-03
  • 2 回答
  • 0 關(guān)注
  • 1252 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號