首页/新闻资讯/正文详情

《HarmonyOS 7 跨设备数据协同专题》02:复杂对象同步、Change 事件与最小更新粒度【鸿蒙心迹】

发布时间:2026/9/23 10:12:01 来源:云帆数科 栏目:资讯中心
《HarmonyOS 7 跨设备数据协同专题》02:复杂对象同步、Change 事件与最小更新粒度【鸿蒙心迹】
为什么改了 note.author.name另一台设备没反应第一篇做了标题同步跑通了。这篇加复杂数据作者、标签、编辑状态、光标位置。结果加了之后发现问题改了嵌套属性另一台设备没反应。最开始以为是 bug后来查文档才知道分布式数据对象的最小同步单元是根属性不是深层属性。一、根属性是最小同步单元先看数据结构noteObj.author{name:张三,avatar:xxx}如果你直接改 noteObj.author.name ‘李四’这个不会同步。因为分布式数据对象的最小同步单元是根属性也就是 author 整个。你要改 author就得整个根属性重新赋值// 这样才会同步noteObj.author{name:李四,avatar:xxx}操作是否同步noteObj.title ‘新标题’同步noteObj.author.name ‘李四’不同步noteObj.author {name:‘李四’}同步二、为什么是这个设计为什么设计成根属性是最小单元因为如果每个深层属性都同步数据量太大了性能也不好控制。根属性作为一个整体同步简单高效。这段代码解决什么问题正确更新复杂对象。文件distributed/NoteObject.ets用途跨设备笔记同步接入位置笔记编辑// 正确做法整个根属性更新updateAuthor(name:string,avatar:string){// 先读出来改完再整体赋值letoldAuthorthis.noteObj.author;letnewAuthor{name:name,avatar:avatar};this.noteObj.authornewAuthor;}三、change 回调怎么用change 回调返回的是变化的根属性字段noteObj.on(change,(fields:string[]){// fields 是变化的根属性名// 比如 [title, author]console.log(变化字段:,fields);// 根据变化字段局部刷新 UIif(fields.includes(title)){this.refreshTitle();}if(fields.includes(author)){this.refreshAuthor();}});不要 change 一触发就整个页面刷新。根据变化的字段局部刷新对应区域就行。四、几个容易踩的坑第一个坑直接修改深层属性却期待自动同步。改了 author.name根本不同步。第二个坑一个巨大 Object 装下所有状态。数据太复杂维护起来特别麻烦。第三个坑change 一触发就整体刷新页面。性能差也没必要。第四个坑把临时 UI 状态也跨设备同步。滚动位置、光标位置这些不需要同步。这次做复杂对象同步最大的体会是分布式数据对象的同步粒度是根属性不是每个深层属性都同步。设计数据结构的时候就要想好哪些是根属性哪些是临时状态。

相关推荐

PaddleNLP 中的 ERNIE-GEN 预训练模型:权重一览与源码级架构解析
PaddleNLP 中的 ERNIE-GEN 预训练模型:权重一览与源码级架构解析

PaddleNLP 中的 ERNIE-GEN 预训练模型:权重一览与源码级架构解析 【免费下载链接】PaddleNLP Easy-to-use and powerful LLM and SLM library with awesome model zoo. 项目地址: https://gitcode.com/gh_mirrors/pa/PaddleNLP ERNIE-GEN 是面向序列到序列&a… · 2026/9/23 10:11:48

库房微生物抑制与恒温恒湿协同:净化一体机联动控制技术解析
库房微生物抑制与恒温恒湿协同:净化一体机联动控制技术解析

档案馆八防环境监控系统核心——恒湿消毒净化一体机添加图片注释,不超过 140 字(可选)图1 现代化档案馆建筑在档案馆八防环境监控体系中,传感器负责"感知",平台负责"决策",但真正改变库… · 2026/9/23 10:11:48

Trae IDE 集成 Codegraph 配置指南:TaoToken 统一 Key 接入 MCP 的 settings.json 骨架
Trae IDE 集成 Codegraph 配置指南:TaoToken 统一 Key 接入 MCP 的 settings.json 骨架

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/23 10:11:42

YOLOv8快递包裹缺陷检测:数据集巡检、推理调参与产线部署
YOLOv8快递包裹缺陷检测:数据集巡检、推理调参与产线部署

简介:面向快递物流质检场景的YOLOv8缺陷检测权重包,模型已完成训练,可直接对快递包裹和包装盒进行推理识别,适合物流分拣、包装流水线质检等实际场景,也适合熟悉YOLO系列算法的开发者、相关课题或毕业设计使用。配套12… · 2026/9/23 13:03:20

Pandas缺失值处理完全指南:dropna与fillna实战详解
Pandas缺失值处理完全指南:dropna与fillna实战详解

1. 为什么缺失值处理是数据分析的第一个分水岭不管是处理爬虫抓来的原始数据、业务导出的Excel报表,还是接数仓里其他人跑出来的表,几乎没有人能避开那一行行刺眼的NaN、None或者空白。我见过不少初学者拿到数据后第一件事就是data.dropna()一把梭&#… · 2026/9/23 13:03:20

EOS(eos)节点操作指南:使用 cleos system undelegatebw 解除 NET 网络带宽质押(Unstake)
EOS(eos)节点操作指南:使用 cleos system undelegatebw 解除 NET 网络带宽质押(Unstake)

区块链 【免费下载链接】eos An open source smart contract platform 项目地址: https://gitcode.com/gh_mirrors/eo/eos 点击查看 免费下载 cleos system undelegatebw 是 EOS(eos)区块链中用于解除 NET 与 CPU 带宽质押的核心命令。本篇… · 2026/9/23 13:03:07

opaicn原理详解
opaicn原理详解

3个核心技巧搞定opacn报错,高频面试题秒懂 打开控制台满屏红色报错,StackTrace 长得像天书,连第一行错误在哪都找不到?这种崩溃感,很多刚接触全栈开发的建筑工人朋友都经历过。别慌,这不仅是技术问题,更是高频面试题里的重灾区。… · 2026/9/23 13:03:07

勍怎么读:从生僻字到实战项目的破局指南
勍怎么读:从生僻字到实战项目的破局指南

勍怎么读:从生僻字到实战项目的破局指南 学会语法却不知怎么搭项目,这是无数开发者卡脖子最狠的地方。你背下了Python的 def ,记住了Java的 class… · 2026/9/23 13:03:01

3个坑解决微信密友版性能问题附完整示例
3个坑解决微信密友版性能问题附完整示例

3个坑解决微信密友版性能问题附完整示例 官方文档翻了三遍还是觉得云里雾里?别慌,微信密友版这种涉及隐私与实时性平衡的复杂机制,光看文字描述确实容易抓不住重点。很多开发者卡在“消息加密”和“好友列表隔离”这两个点上,导致面试时答非所问。今天这… · 2026/9/23 13:03:01

3招搞定手机怎么下载微信面试难题实战项目解析
3招搞定手机怎么下载微信面试难题实战项目解析

3招搞定手机怎么下载微信面试难题实战项目解析 面试被问“手机怎么下载微信”背后的原理,90%的人答不上来。别笑,这看似弱智的问题,实则是考察你对移动应用分发机制、安全校验及网络协议理解的试金石。我带过不少校招新人,他们背了八股文,却连一个A… · 2026/9/23 0:00:03

你有新短消息请注意查收:3个新手避坑指南搞定消息系统选型
你有新短消息请注意查收:3个新手避坑指南搞定消息系统选型

你有新短消息请注意查收:3个新手避坑指南搞定消息系统选型 面试被问“高并发下如何保证消息不丢失”,你张口就是“用Redis”,结果面试官追问“如果Redis宕机了怎么办”,你瞬间卡壳。这种场景太常见了,很多新手在背八股文时,只记住了技术名词… · 2026/9/23 0:00:29

Win7无线热点配置工具源码解析:解决API失效的3个实战技巧
Win7无线热点配置工具源码解析:解决API失效的3个实战技巧

Win7无线热点配置工具源码解析:解决API失效的3个实战技巧 Win7无线热点配置工具在Win10/11上跑不动?不是你的问题,是版本升级后 API 全变了。很多老项目里的 netsh wlan… · 2026/9/23 0:00:36

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码