如果组件X和Y使用共享数据,那么最可维护的方法是什么?

时间:2016-09-14 20:16:05

标签: angular

如果组件X和Y是组件A的子组件,并且X和Y使用来自REST api调用的一些共享数据,那么最好的方法/模式是什么?

由于来自api调用的数据不会经常更改,我们只需要为两个组件访问api一次。

选项1:两个组件都使用服务

选项2:组件A使用服务,并将数据传递给子项

如果组分X或Y与组分A分开多于一个水平怎么办?我们只是将数据一直传递下来吗?即使中间组件不使用它?

2 个答案:

答案 0 :(得分:0)

转到选项2,这样您就可以进行分区调试并获得更可扩展/可维护的软件。我不介意在组件层次结构中“传递数据”(除非是一个沉重的负担),从好的方面来说,它为您提供了额外的安全层。

答案 1 :(得分:0)

您可以在仅包含数据的单独文件中创建一个类。

 app/hero.ts
 export class Hero {
   id: number;
   name: string;
 }

组件A将使用Hero类中的服务和存储数据。在X和Y组件中导入此组件。