我正在为我的应用程序使用angular 5,在我的应用程序中,我正在创建各种嵌套的动态组件,并且该嵌套最多可以达到4个级别。例如
<GP-Component>
<parentCOmponent>
<component>
<sub-component></sub-component>
</component>
</parentCOmponent>
</GP-Component>
实际上是这样的:
<GP-Component>
<parentCOmponent>
<component>
<div>
<div addSubComponent [config]="fewCOnfiguration"></div>
</div>
</component>
//@ comp-2
<component>
<div>
<div addSubComponent [config]="fewCOnfiguration"></div>
</div>
</component>
//@ comp-3
<component>
<div >
<div addSubComponent [config]="fewCOnfiguration"></div>
</div>
</component>
//@ compo-4
<component>
<div>
<div addSubComponent [config]="fewCOnfiguration"></div>
</div>
</component>
//@ compo-5
<component>
<div>
<div addSubComponent [config]="fewCOnfiguration"></div>
</div>
</component>
</parentCOmponent>
我通过JSON维护数据,因此当我最初通过JSON时,它会基于JSON中定义的属性创建所有内容,一切工作正常,但现在我应该在用户A为进行更改。
我的问题是我可以在父级更新JSON,但是我也可以更新JSON,但是由于我创建的所有内容都是动态的,因此如何显示JSON更改。
答案 0 :(得分:0)
所以我得到了解决方案(由于我的一位同事),他几天前就穿鞋了,我在写答案,如果有人看起来很相似或者可以进一步改善。
答案:
当我需要更新数据并在获取新数据时将其显示给用户B(某种自动更新)时,我将新数据设置为服务,然后:
this.ngOnDestroy();
//@ set data into a service
this.container.clear(); //@ container holding dynamic components
this.ngOnInit();
并且工作正常。我只是担心我正在使用轮询从服务器获取数据以显示用户B每10秒更新一次,因此,在一分钟内我将运行ngOnInit
周期为6次,但不确定是否可以执行起来成本很高,因为运行ngOnInit
将重置所有内容,并且所有嵌套的组件都将重新初始化。
期待有人会提出更好的优化建议(将轮询减少到25-35秒)
谢谢