我有很多不同类型的组件,它们是即时创建的。到时候,我想解析每个组件的一些状态属性,并以JSON格式将它们发送到服务器。
例如,每个box
组件都具有州属性:x
,y
,width
和height
。所有框的JSON都是这样的:
{
projectName:"SOMENAME",
projectDate:"SOMEDATE",
boxes:[
{x:1,y:12,width:123, height:321},
{x:19,y:12,width:773, height:21},
{x:876,y:122,width:3, height:31}
]
}
订单很重要。创建框组件后,它也会被操纵,并且需要在JSON模型中更新更改。
我这样做的方法是给每个组件一个唯一的标识符,并创建一个名为Data
的单独数据类。该类将具有字段projectName
,projectDate
和数组boxes
,它们还存储唯一标识符。我不会在JSON.stringify()
类型的整个对象上调用Data
并将其发送到服务器。
这是要走的路吗?角度是否有一些优先解决我描述的这个问题?你推荐什么方法?
HTML
<app-box-component *ngFor="let box of boxes"> </app-box-component>
BoxComponent.ts
export class BoxComponent implements onInit{
//state properties that need to be send to server. Collected from every box component.
x:number;
y:number;
width:number;
height:number;
}
答案 0 :(得分:0)
在Angular应用程序中处理状态的推荐方法是ngrx存储。
在用户与框交互的情况下,它可以发送类似BoxUpdated
的消息,在ngrx效果中,您可以将此更改传播到服务器。您的ngrx商店可以包含所有初始箱数据。