routerProviders 或 routerProvidersHash 使用 InjectorFactory 可以自动化吗?
Using InjectorFactory for routerProviders or routerProvidersHash can be automated?
我 bootstrap angular 使用 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 非常故意的,就好像它像你建议的那样是动态的,那么它就无法优化。
我认为您可以做的是拥有两个注入器,一个用于开发,一个用于生产,并在您调用 runApp 时决定使用哪一个。
我 bootstrap angular 使用 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 非常故意的,就好像它像你建议的那样是动态的,那么它就无法优化。
我认为您可以做的是拥有两个注入器,一个用于开发,一个用于生产,并在您调用 runApp 时决定使用哪一个。