GlobalModel - 全局模型

发布于: 4/29/2022 阅读大约需要1分钟

属性私有作用
option图表选项
scheduler
ssr
_theme主题
_locale国际化
_optionManager选项管理器
_componentsMap组件映射
_componentsCount组件数量
_seriesIndices系列组件目录, 存放组件映射(_componentsMap)中系列组件的组件下标(componentIndex)
_seriesIndicesMap系列目录映射
_payload用于存储更新数据

setOption

  1. 标准化Option输入 normalizeSetOptionInput
  2. 调用选项管理器的setOption来设置Option. _optionManaget.setOption
  3. 重置选项 _resetOption
    1. 挂载配置(optionManager.mountOption)
    2. 没有option 或者需要重新创建(type 为 'recreate'),调用 initBase 来初始化图表配置
    3. 有option 则调用 this.restoreData() 来恢复数据, 并合并图表配置项(**this._mergeOption**
    4. 处理 media, timeline 选项
    5. 返回option是否变动标识

restoreData - 恢复组件数据

方法解析

  1. 重建系列数据目录 reCreateSeriesIndices(this)
    1. 初始化系列组件目录 ecModel._seriesIndices 为空数组
    2. 遍历图表系列选项, 用系列组件项下标(componentIndex)来填充 _seriesIndices
    3. 创建系列组件与选项中系列数据的映射,使用 _seriesIndicesMap 来存储
  2. 获取当前图表设置的组件列表 componentTypes
  3. 遍历并调用每个组件(目标series组件除外)的 restoreData() 来恢复数据

_mergeOption - 合并选项

  1. 获取新图表配置的组件
  2. 找到新增组件并进行合并(visitComponent