源代码仓库:
https://github.com/SAP/openui5
源代码位置:src\sap.ui.rta\src\sap\ui\rta\command\Property.js
Property.js 详细分析与项目作用说明
文件定位与阅读结论
Property.js位于sap.ui.rta.command目录下,属于RTA命令体系中的一个具体命令实现。它的体量很小,却承担了非常高频、非常关键的职责:把一次控件属性变更,封装成Flex Change可识别的标准数据结构,让这个改动不仅在当前页面即时生效,还能够被记录、被传输、被持久化,并在后续会话中继续生效。
如果把RTA想象成一个可视化装修平台,页面里的每个控件都像一个家具组件,用户拖动、改字、改颜色、改开关状态,本质上都是属性被改了。Property命令就是把这种改了什么属性、改成什么值、这个修改意味着什么的信息,交给底层变更系统的桥梁。
在这个项目实现里,Property.js的价值不在代码量,而在协议价值。它严格遵守父类FlexCommand的约定,只覆盖了与属性修改相关的最小差异点,所以读起来非常干净,也体现了openui5在命令体系设计上的成熟度。