3

我的 blockly.js 文件中有以下代码

Blockly.Blocks['account_number'] = {
  // Other type.
  init: function() {
    this.jsonInit({
      "message0": "account_number %1",
      "args0": [{"type": "field_input", "name": "TYPE", "text": ""}],
      "output": "Type",
      "colour": 320,
      "tooltip": "Custom type to allow.",
      "helpUrl": "https://www.youtube.com/watch?v=s2_xaEvcVI0#t=702"
    });
  }
};

我在我的 index.html 中使用它,如下所示

<category name="sender" colour="%{BKY_MATH_HUE}">
    <block type="account_number" name="accnum"></block>
</category>

如何在此 js 文件的帐号块中获取用户输入的数字?

4

1 回答 1

2

简短的回答:

Blockly.JavaScript['account_number'] = function(block) {
    var code = block.getFieldValue('TYPE');
    return code;
}

(顺便说一句,您似乎已将您的字段命名为“TYPE” - 您完全确定这是您想要命名的吗?)

中等答案:包括上述内容,并通过获取您的工作区并使用以下方法为您的工作区生成 JavaScript:

var generatedCode = Blockly.JavaScript.workspaceToCode(workspace);

在您尝试生成 JavaScript 的任何地方。

长答案是,如果这还不足以让您入门,我需要了解更多有关您如何尝试生成代码以及您将如何处理它的信息。

如果您尚未检查这些链接,这些链接也可能会有所帮助: https ://developers.google.com/blockly/guides/configure/web/custom-blocks#add_generator_function https://developers.google.com/块/指南/创建自定义块/生成代码

于 2018-08-03T12:33:09.277 回答