Khối bên trong là các khối gắn với đầu vào giá trị và câu lệnh. Các trình tạo mã khối riêng lẻ cần xử lý việc nối các lớp bên trong các khối để mã được thêm vào đúng vị trí.
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;
}
Mục nhập câu lệnh
Mã của các khối bên trong được đính kèm vào đầu vào câu lệnh có thể được tạo bằng cách sử dụng
statementToCode
. Thao tác này gọi hàm
trình tạo mã khối của khối câu lệnh và trình xử lý
thụt lề đoạn mã.
const statement = generator.statementToCode(block, 'MY_STATEMENT_INPUT');
Bạn chỉ cần gọi statementToCode
cho khối bên trong được kết nối trực tiếp
cho đầu vào câu lệnh.
Dữ liệu đầu vào giá trị
Có thể tạo mã gồm các khối bên trong được gắn với đầu vào giá trị bằng cách sử dụng
valueTocode
. Thao tác này gọi hàm
trình tạo mã khối của khối giá trị và trình xử lý
thêm dấu ngoặc đơn xung quanh các khối bên trong' mã khi cần.
Hãy xem tài liệu về dấu ngoặc đơn để biết thêm thông tin về cách để điều khiển dấu ngoặc đơn.
const value = generator.valueToCode(block, 'MY_VALUE_INPUT', Order.ATOMIC);
Kết hợp mã
Sau khi nhận được chuỗi mã của khối bên trong, bạn có thể nối chuỗi đó trong vị trí chính xác cùng với chuỗi mã của bạn.
const code = `some code ${statement} ${value} some more code`;
Mã trả lại hàng
Các loại khối khác nhau yêu cầu trả về chuỗi mã trong các loại khối khác nhau , vì vậy hãy xem trang riêng của họ để biết thêm thông tin: