blockly를 사용하는 코드 편집기에서 작업 중이며 현재 내 페이지에 일부 WYSIWYG 편집기와 같은 Block View와 Code View간에 전환하기위한 탭이 있습니다. 이제 Blockly는 블록에서 코드로 전환하는 데 이미 많은 요소가 있으며, 99 %의 부분을 완료하여 코드에서 블록으로 이동할 수 있습니다 (블록 xml을 구성하는 과정이 필요함). 보기를 차단 코드보기에서 갈 내 호출은 다음과 같습니다Blockly domToWorkspace 노드 ID 재설정
var xml = Blockly.Xml.textToDom(self.xmlGenerated());
Blockly.mainWorkspace.clear();
Blockly.Xml.domToWorkspace(Blockly.mainWorkspace, xml);
문제는 blockly 상관없이 내 XML 노드에 설정된 속성을 어떤 ID, 없다 나중에 블록 XML을 읽으려고 할 때이를 무시합니다. 작업 공간을 비우고 있어도 계속 증가하는 것 같습니다. 이로 인해 내 자동 저장 기능에 문제가 발생합니다. 그 이유는 XML에서 변경 될 때마다 코드에서 코드가 바뀔 때마다 코드가 변경된다는 것을 의미하기 때문입니다. 생성 된 코드는 id 필드를 사용하여 각 노드를 식별하는 그래프 구조입니다. 그래프에서).
내 질문은, 누구든지 Blockly가 내가 전송 한 노드 ID를 무시하는 것을 방지하거나 노드 ID를 "재설정"할 수있는 방법을 알고 있습니까?
그게 효과가있는 것 같습니다. 새로운 요소인가 새로운 속성인가? 어디에서 문서화되어 있습니까? – zaparker
새로운 요소입니다 : ''...''. 이는 메일 링리스트 (https://groups.google.com/forum/#!topic/blockly/CbSDz849fiE)에서만 문서화되었지만 Blockly XML에 대한 좋은 문서는 확실하지 않습니다. – noisecapella
그건 중요한 부분입니다. 그의 설명을 근거로 나는 복잡한 객체가 거기에서 어떻게 작동 할 것인지 모르지만 내 ID 필드에서는 완벽 할 것입니다. 감사! – zaparker