logo

该视频仅会员有权观看

立即开通课程「Flutter 移动端应用开发实践」权限。

¥
199
/ 年

用 ChangeNotifierProxyProvider 解决依赖

  • 需要使用一个provider来提供app service。
  • 该app service依赖于oss model,而oss model不适合用标准的provider提供。
  • 可以使用一个process provider来解决这种依赖关系。
  • 在项目中创建一个名为app provider the dark的文件,并在其中声明一个app service provider。
  • 使用change notify proceed provider来处理依赖和提供服务,需设置两种类型:依赖的类型(all model)和要提供的服务类型(app service)。
  • 添加create方法,接受context参数来创建app service实例,该实例将oss model设置为其参数值。
  • 使用context的read方法来获取oss model实例。
  • 添加update方法,此方法在all model变化时执行,并重新创建app service实例,将oss model设置为其参数。
  • 然后声明一个包含app service provider的app providers列表,并通过spread操作将其内容展开到providers中,位置要放在post providers之上。