我有类似这样的东西:
@injectable
class SettingsBloc {
final Event event;
SettingsBloc(@factoryParam this.event);
}
当我从我的代码中调用它时,我会传递工厂参数,例如:getIt<SettingsBloc>(param1: Event())
但是当SettingsBloc是某个依赖项时,调用是自动生成的,看起来像这样:get<SettingsBloc>()
生成的代码:
gh.factoryParam<SettingsBloc, Event, dynamic>(
(event, _) => SettingsBloc(event));
gh.factoryParam<HotelsBloc, Event, dynamic>(
(event, _) => HotelsBloc(
event,
get<SettingsBloc>(),
));
那么,未经传递工厂参数在运行时会导致一切崩溃。 我该如何解决这个问题?
附言:简而言之,应该有一种生成此代码的方法:
gh.factoryParam<HotelsBloc, Event, dynamic>(
(event, _) => HotelsBloc(
event,
get<SettingsBloc>(param1: event),
));
不要使用这种方式:
gh.factoryParam<HotelsBloc, Event, dynamic>(
(event, _) => HotelsBloc(
event,
get<SettingsBloc>(),
));