友情提示:380元/半年,儿童学编程,就上码丁实验室。
一旦用户定义了按钮行为,就需要保存它以供以后使用。
添加保存方法
打开scripts/main.js
。将以下代码添加到save()
方法中:
let xml =Blockly.Xml.workspaceToDom(Blockly.getMainWorkspace());
button.blocklyXml = xml;
此方法采用Blockly工作区,将其导出到XML DOM结构并将其存储在blocklyXml
按钮的属性中。这样,块序列的导出xml与特定按钮相关联。
添加加载方法
同样,当用户打开编辑器时,先前与此按钮关联的块应加载到工作区中。
在scripts/main.js
文件中,添加loadWorkspace
功能:
function loadWorkspace(button){let workspace =Blockly.getMainWorkspace();
workspace.clear();if(button.blocklyXml){Blockly.Xml.domToWorkspace(button.blocklyXml, workspace);}}
它从任何块中清除工作空间,然后加载blocklyXml
在单击按钮的XML 属性中定义的块。
从enableBlocklyMode
方法调用此函数:
function enableBlocklyMode(e){...
loadWorkspace(currentButton);}
现在,测试代码。编辑其中一个按钮的工作区,添加一些块,保存并重新打开它。工作区仍应包含您添加的块。