# 销毁钩子
块有一个 destroy 钩子:当块从工作区删除时会触发。
你可以在这里清理该块关联的数据模型或外部资源。
# JSON 中定义
{
// ...,
"extensions": ["destroy"],
}
Blockly.Extensions.registerMixin('destroy', {
destroy: function() {
this.myResource.dispose();
}
});
在 JSON 定义中,destroy 钩子通常通过混入来提供。
可先参考扩展和混入。
# JavaScript 中定义
Blockly.Blocks['block_type'] = {
destroy: function() {
this.myResource.dispose();
}
}
# 触发时机
destroy 会在父块已被销毁之后触发,但会早于该块的子块与字段销毁。