1

我正在尝试在我的 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 之类的东西吗?

4

1 回答 1

1

到目前为止,这sharedService似乎是您场景的最佳选择。其他方法告诉您有关父/子、兄弟/兄弟组件之间的通信。所以最好的方法是在函数中使用sharedService和初始化它。bootstrap

于 2016-03-10T10:45:51.793 回答