我正在尝试在我的 angular2 应用程序中实现功能标志,以便能够发布尚未准备好进行生产的功能。现在我有两个市场,英语和德语市场。我想分别控制这些市场上的功能。
我对如何使用这些标志的想法:
- 根据给定市场打开/关闭功能。
- 基于市场的 AB 测试功能。
- 在不同的组件上测试新样式(如英国市场在一种给定的方法中看到某个列表,而德国市场对此的看法不同,也如 AB 测试)。
- 使特定用户能够测试特定功能(管理员、普通消费者等等)。
为了启用其中的一些功能,我尝试在我的 Angular2 应用程序中创建两个 Json 文件。
例子:
{
"PassengersFeature": {
"displayed": true
},
"VehicleFeature": {
"displayed": false
},
"DateFeature": {
"displayed": false
}
}
现在,我只添加了一个 value = "displayed" 来测试。
基于给定的市场“EN”或“DE”,我正在加载正确的 json 文件并将其放入我创建的 features 对象中。
// When locale is set, load feature flags files.
this.features = this.appService.getFeaturesForLocale();
现在我想与应用程序中的所有其他组件共享这个对象。服务是最好的方法吗?或者您可以使用您在 angularJS 中所做的 $scope 之类的东西吗?