內部區塊

內部區塊是指附加至值和陳述式輸入內容的區塊。 個別區塊程式碼產生器必須處理自身內部的串連 區塊,系統才會將程式碼加進正確位置

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;
}

陳述式輸入內容

附加至陳述式輸入的內部區塊程式碼可使用 statementToCode。這會呼叫 陳述式區塊的區塊程式碼產生器 縮排程式碼

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

您只需要針對直接連線的內部區塊呼叫 statementToCode 陳述式輸入內容

輸入的值

附加至值輸入的內部區塊程式碼可使用以下程式碼產生: valueTocode。這會呼叫 值區塊的區塊程式碼產生器 在內部區塊周圍加上括號在需要時執行程式碼

如要進一步瞭解做法,請參閱括號說明文件 即可。

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

串連程式碼

取得內部區塊的程式碼字串後, 輸入正確的程式碼字串

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

傳回碼

不同類型的區塊需要在不同的區塊中傳回程式碼字串 因此,建議您個別查看他們的網頁瞭解詳情: