內部區塊是指附加至值和陳述式輸入內容的區塊。 個別區塊程式碼產生器必須處理自身內部的串連 區塊,系統才會將程式碼加進正確位置
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`;
傳回碼
不同類型的區塊需要在不同的區塊中傳回程式碼字串 因此,建議您個別查看他們的網頁瞭解詳情: