将InjectorFactory用于routerProviders或routerProviders哈希可以自动化吗?

时间:2019-06-24 17:42:36

标签: dart angular-dart

我用runApp和namend参数“ createInjector”引导角度来定义routerStrategy“ routerProviders”或“ routerProvidersHash”。 有没有什么方法可以像我希望在第一行中那样自动执行此定义?对于本地开发,我希望使用“ routerProvidersHash”;对于现场环境,则希望使用“ routerProvider”。

const List<Provider<Object>> routerStrategy = Environment.isLive() ? routerProviders : routerProvidersHash;
@GenerateInjector([
  routerStrategy,
  ClassProvider(Client, useClass: BrowserClient),
])
final InjectorFactory injector = self.injector$Injector;

void main() {
  runApp(ng.AppComponentNgFactory, createInjector: injector);
}

问题是,这个值需要是一个const,但是我不能创建这样的常量。 我不知道要使它更灵活:(

1 个答案:

答案 0 :(得分:0)

它是非常有意的常量,好像它像您建议的那样是动态的,因此无法优化。

我想您可以做的是有两个注入器,一个用于开发,一个用于生产,并决定在调用runApp时使用哪个。