Сериализуемые метки работают точно так же, как и обычные метки, за исключением того, что они также сериализуются в XML. Их следует использовать только в том случае, если вы редактируете содержимое метки программным способом и хотите, чтобы оно было сериализовано в XML.
Сериализуемое поле метки
Сериализуемое поле метки в свернутом блоке
Создание
JSON
{
"type": "example_serializable_label",
"message0": "%1",
"args0": [
{
"type": "field_label_serializable",
"name": "FIELDNAME",
"text": "a serializable label"
}
]
}
JavaScript
Blockly.Blocks['example_serializable_label'] = {
init: function() {
this.appendDummyInput()
.appendField(new Blockly.FieldLabelSerializable("a serializable label"), "FIELDNAME");
}
};
Поле сериализуемой метки принимает необязательное значение и необязательную строку класса CSS. Оба по умолчанию имеют пустую строку.
Сериализация
JSON
JSON для сериализуемого поля метки выглядит следующим образом:
{
"fields": {
"FIELDNAME": text
}
}
Где FIELDNAME
— это строка, ссылающаяся на сериализуемое поле метки, а значение — это значение, которое применяется к полю. Значение подчиняется тем же правилам, что и значение конструктора.
XML
XML для сериализуемого поля метки выглядит следующим образом:
<field name="FIELDNAME">text</field>
Атрибут name
узла field
содержит строку, ссылающуюся на сериализуемое поле метки, а внутренний текст узла — это значение, которое следует применить к полю.
Валидаторы
Сериализуемые поля меток не поддерживают валидаторы, поскольку пользователь не может их редактировать.
,Сериализуемые метки работают точно так же, как и обычные метки, за исключением того, что они также сериализуются в XML. Их следует использовать только в том случае, если вы редактируете содержимое метки программным способом и хотите, чтобы оно было сериализовано в XML.
Сериализуемое поле метки
Сериализуемое поле метки в свернутом блоке
Создание
JSON
{
"type": "example_serializable_label",
"message0": "%1",
"args0": [
{
"type": "field_label_serializable",
"name": "FIELDNAME",
"text": "a serializable label"
}
]
}
JavaScript
Blockly.Blocks['example_serializable_label'] = {
init: function() {
this.appendDummyInput()
.appendField(new Blockly.FieldLabelSerializable("a serializable label"), "FIELDNAME");
}
};
Поле сериализуемой метки принимает необязательное значение и необязательную строку класса CSS. Оба по умолчанию имеют пустую строку.
Сериализация
JSON
JSON для сериализуемого поля метки выглядит следующим образом:
{
"fields": {
"FIELDNAME": text
}
}
Где FIELDNAME
— это строка, ссылающаяся на сериализуемое поле метки, а значение — это значение, которое следует применить к полю. Значение подчиняется тем же правилам, что и значение конструктора.
XML
XML для сериализуемого поля метки выглядит следующим образом:
<field name="FIELDNAME">text</field>
Атрибут name
узла field
содержит строку, ссылающуюся на сериализуемое поле метки, а внутренний текст узла — это значение, которое следует применить к полю.
Валидаторы
Сериализуемые поля меток не поддерживают валидаторы, поскольку пользователь не может их редактировать.