Bloki wartości to bloki z połączeniami wyjściowymi. Pełnią one rolę wartości (czyli wyrażeń) w języku tekstowym.
Podobnie jak wszystkie bloki w Blockly, bloki wartości można przekształcić w ciągi kodu, definiując generator kodów blokowych.
import {javascriptGenerator, Order} from 'blockly/javascript';
javascriptGenerator.forBlock['custom_block'] = function(block, generator) {
// Collect argument strings.
const fieldValue = block.getFieldValue('MY_FIELD');
const innerCode = generator.valueToCode(block, 'MY_VALUE_INPUT', Order.ATOMIC);
// Return code.
return ['my code string', Order.NONE];
}
Zbieraj ciągi argumentów
Wszystkie generatory kodu blokowego wymagają zbierania wartości pól oraz zbierania kodu wewnętrznych bloków.
// Collect field values.
const fieldValue = block.getFieldValue('MY_FIELD');
// Collect inner block code strings.
const innerCode = generator.valueToCode(block, 'MY_VALUE_INPUT', Order.ATOMIC);
Jeśli wiele razy odwołujesz się do kodu bloku wewnętrznego, musisz dodać do niego buforowanie argumentów.
Kod zwrotu
Zwracany typ generatora kodów blokowych wartości to tablica, w której pierwsza wartość jest ciągiem znaków, a druga – nadrzędnością.
return ['my code string', Order.NONE];
Ustawienia nadrzędności są stosowane w przypadku dodania nawiasów wokół ciągów kodu blokowego. Więcej informacji o kontrolowaniu możliwości dodawania nawiasów znajdziesz w dokumentacji nawiasów.