解析多个组件的属性

时间:2017-11-07 18:44:48

标签: json angular

我有很多不同类型的组件,它们是即时创建的。到时候,我想解析每个组件的一些状态属性,并以JSON格式将它们发送到服务器。

例如,每个box组件都具有州属性:xywidthheight。所有框的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的单独数据类。该类将具有字段projectNameprojectDate和数组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;

}

1 个答案:

答案 0 :(得分:0)

在Angular应用程序中处理状态的推荐方法是ngrx存储。 在用户与框交互的情况下,它可以发送类似BoxUpdated的消息,在ngrx效果中,您可以将此更改传播到服务器。您的ngrx商店可以包含所有初始箱数据。