Khối bên trong

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: