中國百強城市榜單排名/seo sem推廣
學習鴻蒙arkTS語言,決定直接通過實踐的方式上手,而不是一點點進行觀看視頻再來實現(xiàn)。
結合羊了個羊的開發(fā)思路,準備好相應的卡片素材后進行開發(fā)。遇到了需要arkTS進行解決的問題,再去查看相應的文檔。
- 首先需要準備卡片對應的圖片,而且這是可以復用的,自然就需要將圖片存儲在集合里,正好根據(jù)集合相應的索引下標,能夠使用random來獲得隨機的圖片。通過這一步,學習了使用Resource,以及知道了圖片需要放在resource/base文件夾下。這里有個小插曲,一開始我使用生成變量的方式來獲取圖片:let s = app.media. + 隨機數(shù); 然后使用$r(s),發(fā)現(xiàn)是不行的,知道了Resource是編譯階段生成的,不過我在Image組件里面也使用變量的方式,也是不行的
// 可點擊的卡片列表public static cardImageArray: Array<Resource> = new Array($r('app.media.0'),$r('app.media.1'),$r('app.media.2'),$r('app.media.3'),$r('app.media.4'),$r('app.media.5'),$r('app.media.6'),$r('app.media.7'),$r('app.media.8'));
- 其次開始構建卡片,需要在初始化的時候構建,這樣就知道了組件/頁面的生命周期
- 在初始化階段構造好卡片列表后,需要進行展示,這需要了解for循環(huán)進行渲染,這就會使用ForEach了,不過到了后面的階段,才知道ForEach有一個坑,就是會進行去重操作
- 一開始我渲染卡片,使用的是長方形的UI,還沒使用上一開始準備的圖片,所以使用到了自定義組件,在組件里生成每一個卡片。還能夠加上onClick方法,這樣就能夠很好地處理點擊事件。
- 下一個問題就是值的變化,和組件之間值變化的處理,學習了@State、@Prop、@Link的用法,并且進行了實踐。
由于沒有更多時間進行完善,最終效果如下:
源碼地址奉上,若是覺得可以記得點個星星:https://github.com/myloverwdm/YLGY-HM-Next