Khối giá trị là các khối có kết nối đầu ra. Các tham số này đóng vai trò như giá trị (còn gọi là biểu thức) bằng ngôn ngữ dựa trên văn bản.
Cũng giống như tất cả các khối trong Blockly, các khối giá trị có thể được chuyển thành chuỗi mã bằng cách xác định trình tạo mã khối.
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];
}
Thu thập chuỗi đối số
Tất cả các trình tạo mã khối cần thu thập giá trị của các trường và thu thập mã của khối bên trong.
// Collect field values.
const fieldValue = block.getFieldValue('MY_FIELD');
// Collect inner block code strings.
const innerCode = generator.valueToCode(block, 'MY_VALUE_INPUT', Order.ATOMIC);
Nếu tham chiếu mã của một khối bên trong nhiều lần, bạn nên thêm lưu đối số vào bộ nhớ đệm vào khối của bạn.
Mã trả lại hàng
Loại dữ liệu trả về của trình tạo mã khối giá trị là một mảng trong đó giá trị đầu tiên giá trị là chuỗi mã và giá trị thứ hai là giá trị ưu tiên.
return ['my code string', Order.NONE];
Mức độ ưu tiên kiểm soát khi dấu ngoặc đơn được thêm xung quanh chuỗi mã khối. Hãy xem tài liệu về dấu ngoặc đơn để biết thêm thông tin về cách kiểm soát thời điểm thêm dấu ngoặc đơn.