版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
任务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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度桉树木材深加工项目投资建设合同3篇
- 宝鸡职业技术学院《学前教育思想史》2023-2024学年第一学期期末试卷
- 蚌埠医学院《色彩静物》2023-2024学年第一学期期末试卷
- 2025版养老产业项目履约担保合同3篇
- 2024年精准农业技术研发与推广合同
- 2024年田土流转与使用权转让合同协议3篇
- 2025年度安徽省住房租赁保险合作协议书
- 2025版网络安全防护技术授权与支持服务合同3篇
- 2025年度XX型号石材表面处理打磨与维护承包合同3篇
- 2025版江苏二手车买卖双方车辆运输与仓储合同
- 小学中低年级学生音乐节奏感的培养策略研究 论文
- 小学六年级数学计算题100道(含答案)
- 一年级数学上册《寒假作业》30套
- 沈阳来金汽车零部件股份有限公司改扩建项目环评报告
- 乡镇卫生院综合考核基卫部分评分表
- 江苏省2023年生物小高考试题含答案解析
- 2021年1月北京朝阳初二(上)期末历史试卷及答案
- 岭南版六年级上册美术18课考试复习资料
- GB/T 12237-2007石油、石化及相关工业用的钢制球阀
- 痛风的诊断及中西医治疗课件
- 月考学生颁奖典礼课件
评论
0/150
提交评论