使用Provider / ProxyProvider时选择具有依赖性的正确策略

时间:2019-09-17 10:36:06

标签: flutter flutter-provider

我试图使用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上传递。)

0 个答案:

没有答案