值块是具有输出连接的块。它们的作用类似于 表达式)。
与 Blockly 中的所有块一样,您可以通过以下方法将值块转换为代码字符串 定义区块码生成器。
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];
}
收集参数字符串
// Collect field values.
const fieldValue = block.getFieldValue('MY_FIELD');
// Collect inner block code strings.
const innerCode = generator.valueToCode(block, 'MY_VALUE_INPUT', Order.ATOMIC);
如果您多次引用内部代码块的代码,则应添加 参数缓存到块中。
返回代码
值块码生成器的返回值类型是一个数组,其中第一个 值是一个代码字符串,第二个值优先。
return ['my code string', Order.NONE];
优先级控制何时在块码字符串周围添加括号。 如需详细了解相关信息,请参阅圆括号文档 如何控制何时添加括号。