gpt4 book ai didi

javascript - block 状 domToWorkspace 重置节点 ID

转载 作者:行者123 更新时间:2023-11-29 21:53:56 25 4
gpt4 key购买 nike

我正在使用 blockly 开发代码编辑器,我的页面目前有用于在 block View 和代码 View 之间切换的选项卡,有点像一些所见即所得的编辑器。现在,Blockly 已经有了很多从 block 到代码的东西,我已经完成了 99% 的部分,这样我就可以从代码到 block 了(它涉及构建一堆 block xml)。我从代码 View 转到 block View 的调用如下所示:

var xml = Blockly.Xml.textToDom(self.xmlGenerated());
Blockly.mainWorkspace.clear();
Blockly.Xml.domToWorkspace(Blockly.mainWorkspace, xml);

问题是,无论我在我的 xml 节点中设置什么 id 属性,当我稍后尝试读取 block xml 时,都会 block 地覆盖它们。看起来它们在不断增加,即使我正在清理工作区。这会导致我的自动保存功能出现问题,因为这意味着每次我从代码转到 block 时,我的 xml 都会发生变化,因此我的代码也会发生变化(生成的代码是一个图形结构,它也使用 id 字段来标识每个节点在图中)。

所以,我的问题是,有谁知道如何防止 Blockly 覆盖我发送的节点 ID,或者有没有办法“重置”节点 ID?

最佳答案

我在 Blockly Google 组中问了一个非常相似的问题,Neil 添加了一个新的 data XML 标签来存储持久数据。也许你可以把你的身份证放在那里?从阅读代码来看,id 属性似乎是供内部使用的,因此重用它可能不可靠。

关于javascript - block 状 domToWorkspace 重置节点 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27490988/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com