Innere Blöcke

Innere Blöcke sind die Blöcke, die an die Eingaben für Werte und Anweisungen angehängt sind. Einzelne Blockcode-Generatoren müssen die Verkettung ihrer inneren damit der Code an der richtigen Stelle eingefügt wird.

import {javascriptGenerator, Order} from 'blockly/javascript';

javascriptGenerator.forBlock['my_custom_block'] = function(block, generator) {
  // Generate innner block code.
  const statement = generator.statementToCode(block, 'MY_STATEMENT_INPUT');
  const value = generator.valueToCode(block, 'MY_VALUE_INPUT', Order.ATOMIC);

  // Concatenate the string.
  const code = `some code ${statement} ${value} some more code`;

  // Return the code.
  return code;
}

Anweisungseingaben

Der Code der inneren Blöcke, die an Anweisungseingaben angehängt sind, kann mit statementToCode Dadurch wird die Methode Blockcode-Generator des Anweisungsblocks und Ziehpunkte das Code einrückt.

const statement = generator.statementToCode(block, 'MY_STATEMENT_INPUT');

Sie müssen nur statementToCode für den direkt verbundenen inneren Block aufrufen Anweisung hinzufügen.

Werteingaben

Der Code der inneren Blöcke, die an Werteingaben angehängt sind, kann mit valueTocode Dadurch wird die Methode Blockcode-Code-Generator des Wertblocks und Handles Klammern um die inneren Blöcke wenn nötig.

Weitere Informationen dazu, wie Sie vorgehen müssen, finden Sie in der Dokumentation zu Klammern. um die Klammern zu steuern.

const value = generator.valueToCode(block, 'MY_VALUE_INPUT', Order.ATOMIC);

Code verketten

Nachdem Sie den Codestring des inneren Blocks erhalten haben, können Sie ihn an die richtige Stelle.

const code = `some code ${statement} ${value} some more code`;

Rückgabecode

Für verschiedene Arten von Blöcken muss der Code-String in unterschiedlichen Informationen hierzu erhalten Sie auf den jeweiligen Seiten: