Open xinglie opened 4 years ago
本项目整体分2大部分,设计部分与展示部分。 设计部分 设计部分是核心,编辑器或叫设计器本身要实现历史记录、对齐操作、复制粘贴等功能,同时管理数据和派发事件。 为了便于可扩展和插件化,设计部分的核心就需要健全和简单,这样方便后续核心功能的开发和插件的开发。
本项目整体分2大部分,设计部分与展示部分。
设计部分是核心,编辑器或叫设计器本身要实现历史记录、对齐操作、复制粘贴等功能,同时管理数据和派发事件。 为了便于可扩展和插件化,设计部分的核心就需要健全和简单,这样方便后续核心功能的开发和插件的开发。
目前像顶部的可编辑元素及4个面板全部以插件化的形式存在,这里介绍下可编辑元素的设计与展示分离。
任意一个可编辑元素,如图片,它需要向设计器提供可编辑能力和根据编辑后的数据展示能力。我们可以把这2部分集成在同一个组件里,但这样做,如果离开设计器,做纯展示的话,那组件内部保存的可编辑能力在展示情况下是无用的。
在当前项目里是这样做的:
一个组件的编辑能力与展示能力是分离的,在设计器中是编辑与展示均加载
而到了展示或打印时,则是这样的: 直接加载组件相应的展示层,这样就做到了设计与展示分离,无论在哪种场景下均不加载冗余数据的目标。
目前像顶部的可编辑元素及4个面板全部以插件化的形式存在,这里介绍下可编辑元素的设计与展示分离。
任意一个可编辑元素,如图片,它需要向设计器提供可编辑能力和根据编辑后的数据展示能力。我们可以把这2部分集成在同一个组件里,但这样做,如果离开设计器,做纯展示的话,那组件内部保存的可编辑能力在展示情况下是无用的。
在当前项目里是这样做的:
一个组件的编辑能力与展示能力是分离的,在设计器中是编辑与展示均加载
展示部分
而到了展示或打印时,则是这样的: 直接加载组件相应的展示层,这样就做到了设计与展示分离,无论在哪种场景下均不加载冗余数据的目标。