0

我正在尝试使用 Provider 设置所有依赖项,而不是在 initState 中使用 get_it 或其他类型的实例化

return MultiProvider(
providers: [ 
    Provider<UserRepository>.value(value: FbUserRepository()),            
    ChangeNotifierProvider<AppModel>(builder: (context) => AppModel()),
    ChangeNotifierProvider<AuthModel>(builder: (context) => AuthModel()),  
    ProxyProvider3<UserRepository, AuthModel, AppModel, AppController>(
         updateShouldNotify: (_, __) => false,       
         initialBuilder: (_) => AppController(),       
         builder: (_, repo, authModel, appModel, app) => app..model = appModel ..userRepository = repo, 
), ],

AppController(或应用程序某些部分中使用的任何其他 viewModel)具有将更改 AppModel 的方法。AppModel 中的更改将反映在应用程序的不同位置。

设置所有依赖项后,如何在 AppController 上调用一些 start()/init() 方法?(我不能使用 AppController 构造函数来传递依赖项,因为它们(依赖项)没有在 initialBuilder 上传递)。

4

0 回答 0