Khối bên trong

Khối bên trong là các khối đính kèm với đầu vào giá trị và câu lệnh. Trình tạo mã khối riêng lẻ cần xử lý việc nối các khối bên trong để 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;
}

Nhập vào bảng sao kê

Bạn có thể tạo mã của các khối bên trong đính kèm với dữ liệu đầu vào của câu lệnh bằng statementToCode. Thao tác này sẽ gọi trình tạo mã khối của khối câu lệnh và xử lý mã thụt lề.

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 với đầu vào câu lệnh.

Giá trị đầu vào

Bạn có thể tạo mã của các khối bên trong đính kèm với giá trị đầu vào bằng cách sử dụng valueTocode. Thao tác này sẽ gọi trình tạo mã khối của khối giá trị và xử lý việc thêm dấu ngoặc đơn quanh mã của khối bên trong 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 kiểm soát dấu ngoặc đơn.

const value = generator.valueToCode(block, 'MY_VALUE_INPUT', Order.ATOMIC);

Nối mã

Sau khi đã có chuỗi mã của khối bên trong, bạn có thể nối chuỗi đó vào đúng vị trí với chuỗi mã.

const code = `some code ${statement} ${value} some more code`;

Mã trả lại hàng

Các loại quy tắc chặn khác nhau yêu cầu chuỗi mã được trả về theo những cách khác nhau, vì vậy, hãy xem từng trang riêng của chúng để biết thêm thông tin: