




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
任務7渲染組件項目2走進ArkTS聲明式開發任務7渲染組件本任務實現使用條件和循環渲染控制組件的顯示。任務描述任務效果圖預覽任務實施0102030504用條件渲染組件封裝數據實體類處理數據源用循環渲染組件導入數據源06在生命周期函數中初始化數據01用條件渲染組件
修改組件MyItem的代碼,在分割線組件上使用條件渲染,使用字符串的匹配函數match(),判斷傳入的文字不是“關于我們”時,組件中的分割線才渲染。02封裝數據實體類
數據需要封裝在對應的實體類中。在ets目錄下新建model目錄,在model目錄中新建DataModel.ets文件,用于封裝對應的實體類;在ets目錄下新建viewmodel目錄,在viewmodel目錄中新建MyDataViewModel.ets文件,用于模擬數據來源。在DataModel.ets文件中編寫DataModel類,并用exportdefault導出類,類內提供構造方法用于封裝對象。exportdefaultclassDataModel{
imageSrc:Resource;//圖片
textVal:string;//文字//構造方法
constructor(imageSrc:Resource,textVal:string)
{
this.imageSrc=imageSrc;
this.textVal=textVal;
}}03處理數據源在MyDataViewModel.ets中,導入DataModel類,編寫函數initData(),并用exportdefault進行導出;將需要的數據用DataModel類的對象進行封裝,再放到datas數組中;在函數的最后一行將datas數組返回。importDataModel
from'../model/DataModel';exportdefaultfunctioninitData():Array<DataModel>{
letdatas:Array<DataModel>=[
newDataModel($r("app.media.msg"),'消息中心'),
newDataModel($r("blem"),'意見反饋'),
newDataModel($r("app.media.help"),'幫助中心'),
newDataModel($r("app.media.hide"),'隱藏設備'),
newDataModel($r("app.media.account"),'賬號切換'),
newDataModel($r("app.media.about"),'關于我們'),
]console.log("數據初始化完畢…")
returndatas;}04導入數據源在Index.ets的第一行,添加導入數據實體類DataModel和數據源MyDataViewModel中的初始數據的方法initData()。//導入數據實體類importDataModel
from'../model/DataModel';//導入數據源import
initData
from'../viewmodel/MyDataViewModel';05用循環渲染組件修改Index組件的代碼,定義變量datas并使用數據源進行初始化,在Column組件中使用循環渲染組件,循環中的item就是數據源中的每一個DataModel對象,通過“item.變量名”進行引用對應的值。
ForEach(this.datas,(item)=>{
MyItem({image:item.imageSrc,text:item.textVal})
})06在生命周期函數中初始化數據-1修改Index的代碼,在組件和頁面的生命周期函數中分別進行驗證數據的初始化。//datas:Array<DataModel>=initData()//初始化數據datas:Array<DataModel>;aboutToAppear(){
this.datas=initData()//初始化數據}onPageShow(){
//this.datas=initData()//初始化數據}06在生命周期函數中初始化數據-2aboutToAppear()生命周期函數是在build()函數之前執行;opPageShow()函數是在build()函數之后執行。在實際開發時,opPageShow()
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 高中英語數據驅動下的跨文化交際能力培養論文
- 初中生心理健康教育課程與學校心理健康教育資源配置優化研究論文
- 花崗巖質量管理制度
- 設計工作室管理制度
- 藏在故宮里的中國史讀書記錄
- 財政結構與人力流動
- 自動判斷閏年
- 山東省東營市廣饒縣2024-2025學年六年級下學期期中考試數學試題(含部分答案)
- 自動控制升降旗的單片機系統設計
- 自動控制理論課程教學大綱
- 致命性肺血栓栓塞癥急救護理專家共識(2024版)解讀
- 2025年醫藥代表職業資格考試試題及答案
- 項目合作經驗與能力證明(8篇)
- 2025年廣東省深圳中考數學考前沖刺(含詳解)
- 2025-2030年中國基因檢測行業現狀調查及發展前景預測研究報告
- 貴州省黔南布依族苗族自治州2023-2024學年八年級下學期期末質量監測語文試卷(含答案)
- 2025年“全國安全生產月”《安全知識》競賽題庫及答案
- 2025中考政治最后一課及考前指導【課件】
- 2025春國開《馬克思主義基本原理》大作業答案
- 中考物理考前指導最后一課
- 23秋國家開放大學《液壓氣動技術》形考任務1-3參考答案
評論
0/150
提交評論