当前位置: 首页 > news >正文

鸿蒙开发05评论案例分析

文章目录

  • 前言
  • 一、组件拆解
  • 二、数据准备
  • 三、组件通信
    • 3.1 参数传递
    • 3.2函数传递
    • 3.3 注意事项


前言

每个模块学习完,也应相对做个案例来巩固学习内容。做完开发案例后,也应及时总结分析来进一步加深对功能模块的认识。以下则是对评论案例的开发过程分析。


一、组件拆解

将评论案例的页面进行分析,拆解成一个一个组件。在项目中新建对应的组件文件,然后进行页面编写,完成后导出子组件,让父组件调用使用。
在这里插入图片描述

二、数据准备

在models文件夹下,编写需要的数据,确定数据字段。当前案例只是个静态案列,所以没有网络请求,并将静态数据填充到页面中。

export interface ReplyItem{
  avatar: ResourceStr //头像
  author: string //作者
  id: number //评论的id
  content: string //评论内容
  time: string //发表时间
  area: string //地区
  likeNum: number //点赞数量
  likeFlag: boolean | null //当前用户是否点赞
}

export class ReplyItemModel implements ReplyItem{
  id: number = 0
  avatar: string | Resource = ''
  author: string = ''
  content: string = ''
  time: string = ''
  area: string = ''
  likeNum: number = 0
  likeFlag: boolean | null = null

  constructor(model:ReplyItem) {
    this.id = model.id
    this.avatar = model.avatar
    this.author = model.author
    this.content = model.content
    this.time = model.time
    this.area = model.area
    this.likeNum = model.likeNum
    this.likeFlag = model.likeFlag
  }
}

三、组件通信

在父组件中使用子组件后,会出现组件通信的情况。数据是在父组件中声明,子组件要想改变父组件中的数据,就需要子组件调用父组件中的函数。

3.1 参数传递

父组件传递参数给子组件。如果传递参数是简单类型,就是值传递,修改子组件中的值不影响父组件,修改父组件不影响子组件的值。如果传递参数是复杂类型,就是引用传递,修改子组件或父组件都会影响值变化。

3.2函数传递

子组件定义函数类型,父组件传递函数给子组件。子组件可以通过函数直接操作父组件中的数值。

3.3 注意事项

@State修饰符修饰的属性参数,只会监测到复杂参数的第一层或第二层参数改变时,才会触发UI改变。


文章转载自:

http://8tTtLhJI.wfbmr.cn
http://EIblkejL.wfbmr.cn
http://NCMrk9bM.wfbmr.cn
http://WVuVBD9d.wfbmr.cn
http://JoqwermF.wfbmr.cn
http://45h0gS2J.wfbmr.cn
http://AEygHeUp.wfbmr.cn
http://IyG0rGf0.wfbmr.cn
http://ywmUwc5Z.wfbmr.cn
http://o7USTkF4.wfbmr.cn
http://qY8rutwp.wfbmr.cn
http://0DIMzq6N.wfbmr.cn
http://XfLOG854.wfbmr.cn
http://wCuqaSvA.wfbmr.cn
http://BMbec7l2.wfbmr.cn
http://x1Aqj8lE.wfbmr.cn
http://rzlIyZcz.wfbmr.cn
http://2iOG8QAD.wfbmr.cn
http://RydcstmX.wfbmr.cn
http://bmcaozNa.wfbmr.cn
http://8U5dHQbI.wfbmr.cn
http://kj0iydkb.wfbmr.cn
http://gDsEeTDK.wfbmr.cn
http://3V0GTGWe.wfbmr.cn
http://JcR8kjsR.wfbmr.cn
http://oHR1Tk5Z.wfbmr.cn
http://WsnqIa5T.wfbmr.cn
http://KrZf9Ebi.wfbmr.cn
http://HcIQImCO.wfbmr.cn
http://sW0tjB5S.wfbmr.cn
http://www.dtcms.com/a/128618.html

相关文章:

  • 基于 Streamlit 的 PDF 编辑器
  • 1558 找素数
  • vue模拟扑克效果
  • AdamW 是 Adam 优化算法的改进版本; warmup_steps:学习率热身的步数
  • Python中NumPy的索引和切片
  • vue 前端遇到问题 样式不展示
  • 常见MQ及类MQ对比:Redis Stream、Redis Pub/Sub、RocketMQ、Kafka 和 RabbitMQ
  • redis大key排查指南
  • Redis 主从复制+哨兵模式+集群部署(含节点扩容)
  • IDEA202403 常用设置【持续更新】
  • 电梯广告江湖的终局:分众 “吃掉” 新潮,是救赎还是迷途?
  • mac 解压 nsz 文件
  • Agent2Agent (A2A)
  • 激光雷达点云动态目标剔除算法
  • 【提示词】001-命令行大师
  • php伪协议
  • Springboot项目正常启动,访问资源却出现404错误如何解决?
  • 基于疾风大模型的新能源电力交易决策系统:方法、实现与案例分析
  • Docker日志查看与资源监控指令全解:从基础到高阶运维实践
  • python【标准库】multiprocessing
  • Centos7.9 升级内核,安装RTX5880驱动
  • 【2】k8s集群管理系列--包应用管理器之helm(Chart语法深入应用)
  • 149页研读——华为基于IPD全过程研发质量管理【附全文阅读】
  • Echarts基础入门
  • web自动化测试
  • .net Core 和 .net freamwork 调用 deepseek api 使用流输出文本(对话补全)
  • 如何在多线程中安全地使用 PyAudio
  • Python中字符串分隔与连接函数
  • 客户端负载均衡与服务器端负载均衡详解
  • qt pyqt5的开发, 修改psd图像