Блоки имеют обработчик события destroy , который вызывается при их удалении из рабочей области. Это можно использовать для удаления любых базовых моделей данных или внешних ресурсов, связанных с блоком, которые больше не нужны.
JSON
{
// ...,
"extensions":["destroy"],
}
Blockly.Extensions.registerMixin('destroy', {
destroy: function() {
this.myResource.dispose();
}
});
В формате JSON определите хук destroy с помощью примеси (mixin) .
JavaScript
Blockly.Blocks['block_type'] = {
destroy: function() {
this.myResource.dispose();
}
}
Метод destroy вызывается после того, как родительский блок был освобожден, но до того, как были освобождены какие-либо из его дочерних элементов или полей.