组件依赖

约定使用 $ 前缀作为组件的依赖关系标记,比如:

var option = {
    grid: [
        {

        }
    ]
    axis: [
        {
            position: 'bottom',
            xOrY: 'x',
            $gridIndex: 0 // 依赖第1个grid
        },
        {
            position: 'left',
            xOrY: 'y',
            $gridIndex: 0 // 依赖第1个grid
        }
    ],
    series: [
        {
            type: 'line',
            $axisIndex: [0, 1] // 依赖第1个和第2个axis
            $dataIndex: 0 // 依赖第1个data
        }
    ],
    data: [
        {
            originData: [0, 1, 2]
        }
    ]
}

以上配置表示的依赖关系为:

series[0] => axis[0] => grid[0]

series[0] => axis[1] => grid[0]

series[0] => data[0]

依赖关系将影响组件model的更新,比如:

axis[0]被标记为脏,将导致series[0]被标记为脏,model更新的时候(model.update)会以axis[0] -> series[0] 的顺序更新(调用)。

grid[0]被标记为脏,将导致axis[0]和axis[1]被标记为脏,而axis[0]和axis[1]也将导致series[0]被标记为脏,model更新的时候(model.update)会以grid[0] -> axis[0] -- axis[1] -> series[0] 的顺序更新(调用)。