직렬화 가능한 라벨 필드

직렬화 가능한 라벨은 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>

field 노드의 name 속성에는 직렬화 가능한 라벨 필드를 참조하는 문자열이 포함되며 노드의 내부 텍스트는 필드에 적용할 값입니다.

검사기

직렬화 가능한 라벨 필드는 사용자가 수정할 수 없으므로 검사기를 지원하지 않습니다.