| 属性 | 私有 | 作用 |
|---|---|---|
| option | 图表选项 | |
| scheduler | ||
| ssr | ||
| _theme | ✅ | 主题 |
| _locale | ✅ | 国际化 |
| _optionManager | ✅ | 选项管理器 |
| _componentsMap | ✅ | 组件映射 |
| _componentsCount | ✅ | 组件数量 |
| _seriesIndices | ✅ | 系列组件目录, 存放组件映射(_componentsMap)中系列组件的组件下标(componentIndex) |
| _seriesIndicesMap | ✅ | 系列目录映射 |
| _payload | ✅ | 用于存储更新数据 |
setOption
- 标准化Option输入
normalizeSetOptionInput - 调用选项管理器的setOption来设置Option.
_optionManaget.setOption - 重置选项
_resetOption- 挂载配置(
optionManager.mountOption) - 没有option 或者需要重新创建(type 为
'recreate'),调用 initBase 来初始化图表配置 - 有option 则调用
this.restoreData()来恢复数据, 并合并图表配置项(**this._mergeOption**) - 处理
media,timeline选项 - 返回option是否变动标识
- 挂载配置(
restoreData - 恢复组件数据
方法解析
- 重建系列数据目录
reCreateSeriesIndices(this)- 初始化系列组件目录
ecModel._seriesIndices为空数组 - 遍历图表系列选项, 用系列组件项下标(
componentIndex)来填充_seriesIndices - 创建系列组件与选项中系列数据的映射,使用
_seriesIndicesMap来存储
- 初始化系列组件目录
- 获取当前图表设置的组件列表
componentTypes - 遍历并调用每个组件(目标series组件除外)的 restoreData() 来恢复数据
_mergeOption - 合并选项
- 获取新图表配置的组件
- 找到新增组件并进行合并(
visitComponent)