我正在Angular 6
中构建一个特定于我的域的IDE类型应用程序,我需要允许用户编辑C#对象的属性。想想Windows窗体或Web窗体项目的Visual Studio属性网格,您可以在其中单击表单上的按钮,然后在属性网格中更改按钮的属性(例如颜色,大小,文本等)。 / p>
我的想法是向客户端发送一个json
字符串,其中包括对象的属性及其当前值。像这样:
{
"id":1,
"name":"Volume",
"type":"VolumeCalculator",
"properties":
[
{
"name":"NumberOfLevels",
"type":"int",
"value":2
},
{
"name":"Period",
"type":"object",
"properties":
[
{
"name":"From",
"type":"DateTime",
"properties":
[
{
"name":"FromDate",
"type":"Date",
"value":"01/01/2018"
},
{
"name":"FromTime",
"type":"Time",
"value":"12:00:00"
}
]
},
{
"name":"Until",
"type":"DateTime",
"value":"02/01/2018 12:00:00"
}
]
},
{
"name":"TreeType",
"type":"enum",
"value":2,
"options":["Path Graph","Star Like"]
}
]
}
使用此json
字符串,我可以获得构建grid
所需的所有信息。不同的数据类型将显示不同的编辑器。 DateTime
类型将允许用户单击日历图标以调出日历并选择一个值。 Enum
类型将显示一个下拉列表,用户可以在其中从提供的值中进行选择。
我在苦苦挣扎的地方是Angular 6
开发的新手。我已经构建了一些更简单的应用程序,所以我熟悉初学者级别的Angular
概念。我认为此问题需要一些我不熟悉的高级概念,因此正在寻找指针。也许这应该是指令?也许它只是一个组件本身,不需要任何指令。
我不是要一个完整的解决方案(但是,如果有人想提供我不会抱怨的解决方案),则只是Angular
专家的一些指导。
我什至只想购买一个已经提供该功能的库,但是到目前为止,我还找不到支持Angular 6
的库。如果有人知道,我很乐意对其进行审查,看看它是否对我有用。