Невозможно добавить FieldVariable в Blockly

Я пытаюсь вставить цикл foreach в мой блочный веб-интерфейс, но получаю странные сообщения об ошибках. Когда блок пытается загрузить, он показывает TypeError (TypeError: Blockly.Msg.DELETE_VARIABLE не определено [Узнать больше]). Эта ошибка исчезает, когда я убираю FieldVariable для каждого цикла. Но мне нужна какая-то переменная там. Есть ли у вас понимание того, как создать свой собственный для каждого цикла с Blockly и избежать этих ошибок.

Вот код:

Blockly.Blocks['for_each'] = {
    init: function () {
        this.appendValueInput("for_each_list")
            .setCheck(null)
            .appendField("for each item")
            .appendField(new Blockly.FieldVariable('node'), 
                          'for_each_variable')
            .appendField("in list");
        this.appendStatementInput("for_each_do")
            .setCheck(null)
            .appendField("do");
        this.setOutput(true, null);
        this.setColour(65);
        this.setTooltip('');
        this.setHelpUrl('');
    }
};

Спасибо

1 ответ

Вы можете использовать блок controls_forEach: https://github.com/google/blockly/blob/master/blocks/loops.js#L191

Ваша проблема может быть в том, что у вас не загружен файл сообщений. Убедитесь, что вы также используете msg / messages.js, как это делает игровая площадка: https://github.com/google/blockly/blob/master/tests/playground.html

Другие вопросы по тегам