我是Angular2的新手,正在边做边学.现在,我已成功构建了一个包含父组件,多个子组件和数据库服务的多视图.现在我将要使用各自的父子组件来实现其他视图.
应用程序应该使用可以在其他组件中添加/更新/删除的相同数据集,因此我正在寻找一个单独的数据层,可以由应用程序的所有组件直接查询.更多 – 我需要相同的服务实例,以便中间数据随处可用,以及避免不必要的数据库访问.在Angular2中定义和使用这样一个类的最佳方法是什么?
更新Q:
那么现在,当我可以直接访问整个应用程序中数据层的同一实例的变量时,处理组件中变量的最佳方法是什么?
a)我应该使用本地组件变量,它们是相同数据层变量的副本(因此显式加载,获取和设置它们),如
this.locations = this.datalayer.locations; this.selectedLocation; updateLocation(id) { this.selectedLocation = id; this.datalayer.setSelectedLocation(id); } getSelectedLocation() { return this.selectedLocation; }
或者b)我应该专门处理数据层变量,迭代它们,从组件中获取和设置它们吗?
updateLocation(id) { this.datalayer.selectedLocation = id; } getSelectedLocation() { return this.datalayer.selectedLocation; }
或者可能有一个选项c?