BindDirective 元素指令
下个版本迁移为 BindDirective。
结构声明
- TS Declaration
- Java Class
- JSON Schema
interface BindDirective {
"concept": "BindDirective", // 产品概念
"name": string, // 元素指令名称
"rawName": string, // 原始名称
"type": "string" | "static" | "dynamic", // type
"value": string, // 指令值,type 为 "string" | "static" 的时候才生效
"expression": LogicItem, // 属性表达式,type 为 "dynamic" 的时候生效
"arg": string, // 指令参数
"modifiers": string, // 指令修饰器
"playground": Array<LogicItem>, // 草稿态
}
class BindDirectiveTreeNode {
ConceptEnum concept; // 产品概念
String name; // 元素指令名称
String rawName; // 原始名称
TypeEnum type; // type
String value; // 指令值,type 为 "string" | "static" 的时候才生效
LogicItemTreeNode expression; // 属性表达式,type 为 "dynamic" 的时候生效
String arg; // 指令参数
String modifiers; // 指令修饰器
List<LogicItemTreeNode> playground; // 草稿态
}
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$ref": "#/definitions/BindDirective",
"definitions": {
"BindDirective": {
"type": "object",
"properties": {
"concept": {
"type": "string",
"const": "BindDirective"
},
"name": {
"type": "string"
},
"rawName": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"string",
"static",
"dynamic"
]
},
"value": {
"type": "string"
},
"expression": {
"$ref": "#/definitions/LogicItem"
},
"arg": {
"type": "string"
},
"modifiers": {
"type": "string"
},
"playground": {
"type": "array",
"items": {
"$ref": "#/definitions/LogicItem"
}
}
},
"required": [
"concept",
"name",
"rawName",
"type",
"value",
"expression",
"arg",
"modifiers",
"playground"
],
"additionalProperties": false
}
}
}
示例
简单示例
- JSON
- YAML
{
"concept": "BindDirective",
"name": "text",
"rawName": "tooltip",
"type": "dynamic",
"value": "text",
"expression": null,
"arg": null,
"modifiers": null,
"playground": []
}
concept: BindDirective
name: text
rawName: tooltip
type: dynamic
value: text
expression: null
arg: null
modifiers: null
playground: []