销毁钩子

代码块具有 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 方法。