Angular2:数据层的最佳实践

前端之家收集整理的这篇文章主要介绍了Angular2:数据层的最佳实践前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我是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?

解决方法

我认为您需要一种服务,该服务可用于与数据交互的所有组件.

您还需要一个单身的服务.

解决方案是创建服务并在应用程序级别提供服务.

看更多:

How can I create a singleton service in Angular 2?

猜你在找的Angularjs相关文章