1

每个人。

希望你一切顺利。

我已经使用块工厂创建了我的自定义块。

块定义的代码是

Blockly.Blocks['web'] = {
init: function() {
this.appendDummyInput()
    .appendField("When ")
    .appendField(new Blockly.FieldDropdown([["button1","OPTIONNAME"]]), "NAME")
    .appendField(".Click");
this.appendStatementInput("NAME")
    .setCheck(null)
    .appendField("do");
this.setColour(120);
 this.setTooltip("Triggers when the button is clicked");
this.setHelpUrl("");
  }
 };

以及Generator stub的代码:

Blockly.JavaScript['web'] = function(block) {
    var dropdown_name = block.getFieldValue('NAME');
     var statements_name = Blockly.JavaScript.statementToCode(block, 'NAME');
    // TODO: Assemble JavaScript into code variable.
    var code = '$(button).on("click", function(){})';
    return code;
};

块是

堵塞

如何获取添加到此 button1 块的块的代码。

请指导我,我是 Blockly 的新手。

问候,湿婆

4

1 回答 1

1

您的statements_name变量不包含您需要的数据吗?

code = `var code = \$(${statements_name}).on("click", function(){});`

请注意我如何转义您的“$”以不干扰模板字符串格式。

(旁注:您还必须在“do”语句输入中获取语句。您使用的是相同的名称:“NAME”,这将是有问题的)

于 2020-07-08T07:47:33.773 回答