У блоков есть хук 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 вызывается после удаления родителя блока, но до того, как будут удалены какие-либо его дочерние элементы или поля.