Innere Blöcke

Innere Blöcke sind die Blöcke, die an die eingegebenen Werte und Anweisungen angehängt sind. Einzelne Blockcodegeneratoren müssen die Verkettung ihrer inneren Blöcke verarbeiten, damit der Code an der richtigen Stelle hinzugefü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 generiert werden. Dadurch wird der Blockcode-Generator des Anweisungsblocks aufgerufen und das Einrücken des Codes verarbeitet.

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

Sie müssen statementToCode nur für den inneren Block aufrufen, der direkt mit einer Anweisungseingabe verbunden ist.

Werteingaben

Der Code der inneren Blöcke, die an Werteingaben angehängt sind, kann mit valueTocode generiert werden. Dadurch wird der Blockcode-Codegenerator des Wertblocks aufgerufen und das Hinzufügen von Klammern um den Code der inneren Blöcke bei Bedarf verarbeitet.

Weitere Informationen zum Steuern von Klammern finden Sie in der Dokumentation zu Klammern.

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

Code verketten

Nachdem Sie den Codestring Ihres inneren Blocks abgerufen haben, können Sie ihn an der richtigen Stelle mit dem Codestring verketten.

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

Rückgabecode

Für unterschiedliche Arten von Blöcken muss der Codestring auf unterschiedliche Weise zurückgegeben werden. Weitere Informationen finden Sie auf den jeweiligen Seiten: