tot*_*ico 6 javascript chart.js
chartJS 插件的文档可以在这里找到,但是它不完整,因为没有对每个钩子的完整描述:
afterInitbeforeUpdate (cancellable)afterUpdatebeforeLayout (cancellable)afterLayoutbeforeDatasetsUpdate (cancellable)afterDatasetsUpdatebeforeDatasetUpdate (cancellable)afterDatasetUpdatebeforeRender (cancellable)afterRenderbeforeDraw (cancellable)afterDrawbeforeDatasetsDraw (cancellable)afterDatasetsDrawbeforeDatasetDraw (cancellable)afterDatasetDrawbeforeEvent (cancellable)afterEventresizedestroy这个列表可以总结为以下功能,但顺序对我来说不清楚:
一些名字可能知道钩子的执行顺序是什么。
我想在图表上实现在数据的某些条件下激活的几种行为,例如,我想在没有可用数据时更新图例标签,因此,而不是在图例中显示类别的名称,它会显示一条消息,说没有数据。
可以肯定的是,我已经设法实现了 plugins,但是由于我不清楚顺序,因此由于顺序,我总是把事情搞混。
tot*_*ico 10
我在代码中找到了每个钩子的内部文档(请参阅下面的美化版本)。不完全是顺序,但它可以帮助弄清楚。
请注意,有些钩子具有相同的名称,但它们的参数不同(您可以直接在代码中检查它们:
beforeInit: 在初始化之前调用chart。afterInit: 在chart初始化之后和第一次更新之前调用。beforeUpdate: 更新前调用chart。如果任何插件返回false,则更新将被取消(以及随后的渲染),直到update触发另一个。afterUpdate: 在chart更新之后和渲染之前调用。请注意,如果之前已取消图表更新,则不会调用此挂钩。beforeDatasetsUpdate: 在更新chart数据集之前调用。如果任何插件返回false,数据集更新将被取消,直到update触发另一个。@自 2.1.5 版起afterDatasetsUpdate: 在chart数据集更新后调用。请注意,如果先前已取消数据集更新,则不会调用此挂钩。beforeDatasetUpdate:chart在给定的更新数据集之前调用args.index。如果任何插件返回false,数据集更新将被取消,直到update触发另一个。afterDatasetUpdate:chart在给定的数据集args.index更新后调用。请注意,如果先前已取消数据集更新,则不会调用此挂钩。beforeLayout: 布局前调用chart。如果任何插件返回false,则布局更新将被取消,直到update触发另一个。afterLayout: 在chart布局完成后调用。请注意,如果先前已取消布局更新,则不会调用此挂钩。beforeRender: 在渲染之前调用chart。如果任何插件返回false,则渲染将被取消,直到render触发另一个。afterRender:在chart完全渲染(和动画完成)后调用。请注意,如果先前已取消渲染,则不会调用此挂钩。beforeDraw:chart在给定缓动值指定的每个动画帧绘制之前调用。如果有任何插件返回false,则取消帧绘制,直到render触发另一个。afterDraw: 在chart为特定缓动值绘制之后调用。请注意,如果先前已取消绘图,则不会调用此挂钩。beforeDatasetsDraw: 在绘制chart数据集之前调用。如果有任何插件返回false,则数据集绘制将被取消,直到render触发另一个。afterDatasetsDraw: 在chart绘制数据集后调用。请注意,如果先前已取消数据集绘制,则不会调用此挂钩。beforeDatasetDraw:chart在给定绘制数据集之前调用args.index(数据集以相反的顺序绘制)。如果有任何插件返回false,则数据集绘制将被取消,直到render触发另一个。afterDatasetDraw:chart在args.index绘制给定的数据集后调用(数据集以相反的顺序绘制)。请注意,如果先前已取消数据集绘制,则不会调用此挂钩。beforeTooltipDraw: 在绘制之前调用tooltip。如果有任何插件返回false,则取消工具提示绘制,直到render触发另一个。afterTooltipDraw: 绘制后调用tooltip。请注意,如果之前取消了工具提示绘制,则不会调用此挂钩。beforeEvent: 在处理指定的之前调用event。如果任何插件返回false,则该事件将被丢弃。afterEvent:event被消费后调用。请注意,如果event之前已丢弃该钩子,则不会调用该钩子。resize: 在调整图表大小后调用。destroy:在图表被销毁后调用。