2

私は blockly を使用してコード エディターに取り組んでおり、私のページには現在、一部の WYSIWYG エディターのように、ブロック ビューとコード ビューを切り替えるためのタブがあります。現在、Blockly には、ブロックからコードに移行するためのものがすでにたくさんあります。コードからブロックに移行できるように、パーツの 99% を完了しました (ブロック xml の束を構築する必要があります)。コード ビューからブロック ビューに移動するための呼び出しは次のようになります。

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

問題は、xml ノードに設定した id 属性に関係なく、後でブロック xml を読み込もうとすると、それらがブロック的にオーバーライドされることです。ワークスペースをクリアしていても、常に増加しているようです。これは、コードからブロックに移動するたびにxmlが変更され、したがってコードが変更されることを意味するため、自動保存機能に問題が発生します(生成されたコードは、idフィールドを使用して各ノードを識別するグラフ構造です)グラフで)。

それで、私の質問は、Blocklyが私が送信したノードIDを上書きするのを防ぐ方法を知っている人はいますか、それともノードIDを「リセット」する方法はありますか?

4

1 に答える 1

2

Blockly Google グループで非常によく似た質問をしたところ、Neil がdata永続データを保存するための新しい XML タグを追加しました。IDを入れてもいいですか?コードを読むと、id属性は内部使用を目的としているように見えるため、再利用するのは信頼できない可能性があります。

于 2015-02-25T16:52:49.927 に答える