1 回答

TA貢獻(xiàn)1779條經(jīng)驗(yàn) 獲得超6個(gè)贊
一般我都不喜歡回答這么簡單的問題,不過昨天到今天看到好多人懟大漠窮秋,心情有點(diǎn)爽,就寫兩句吧
為什么會報(bào)錯(cuò)?
IScroll要滑動,先要保證有兩個(gè)div,一個(gè)wrapper,一個(gè)scroller,wrapper寬高是固定的,scroller能滾多遠(yuǎn)要依據(jù)wrapper來計(jì)算,所以,當(dāng)你new IScroll的時(shí)候,如果找不到scroller就會報(bào)上圖的錯(cuò)誤,因?yàn)镮Scroll默認(rèn)是使用第一個(gè)子元素作為scroller的。
為什么在Angular上要用定時(shí)器?
Angular是一個(gè)MVVM框架,會先執(zhí)行js運(yùn)算再渲染html視圖,雖然我沒用過Angular做過項(xiàng)目,但原理多少解理一些,執(zhí)行js運(yùn)算時(shí)只對你的html結(jié)構(gòu)進(jìn)行處理,事實(shí)上你的html還沒在瀏覽器渲染出來,即是說還沒有高度和寬度,滑動插件計(jì)算不出正確的滑動數(shù)值,因此滑不動,setTimeout之后視圖渲染完成有了寬高再new IScroll或iscroll.refresh才能生效
添加回答
舉報(bào)