Bloki wewnętrzne to bloki dołączone do danych wejściowych wartości i instrukcji. Poszczególne generatory kodów blokowych muszą obsługiwać konkatenację ich wewnętrznych bloków, aby kod został dodany we właściwym miejscu.
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;
}
Dane wejściowe instrukcji
Kod bloków wewnętrznych dołączonych do danych wejściowych instrukcji można wygenerować za pomocą statementToCode
. Wywołuje to generator kodu blokowego bloku instrukcji i obsługuje kod wcięcia.
const statement = generator.statementToCode(block, 'MY_STATEMENT_INPUT');
Musisz tylko wywołać blok statementToCode
w przypadku bloku wewnętrznego połączonego bezpośrednio z danymi wejściowymi instrukcji.
Dane wejściowe wartości
Kod bloków wewnętrznych dołączonych do danych wejściowych z wartościami można wygenerować za pomocą funkcji valueTocode
. Wywołuje to generator kodu bloku kodu bloku wartości i w razie potrzeby obsługuje dodawanie nawiasów wokół kodu bloków wewnętrznych.
Więcej informacji o kontrolowaniu nawiasów znajdziesz w dokumentacji nawiasów.
const value = generator.valueToCode(block, 'MY_VALUE_INPUT', Order.ATOMIC);
Połącz kod
Po otrzymaniu ciągu kodu wewnętrznego bloku możesz go połączyć we właściwym miejscu z ciągiem kodu.
const code = `some code ${statement} ${value} some more code`;
Kod zwrotu
Różne rodzaje bloków wymagają zwracania ciągu kodu w różny sposób. Więcej informacji znajdziesz na poszczególnych stronach: