如何仅为两页应用程序提供块?

时间:2020-08-07 10:25:34

标签: flutter flutter-bloc

在我的应用程序中有几页。两页需要使用一个块。
我使用namedRoutes在页面之间进行导航,BlocProvider位于应用程序小部件的顶部,因此为应用程序的所有页面提供了它,但是我只想为两个页面提供它,以便在导航至两个页面之一时创建了一个新的bloc实例,当我离开两个页面时,该bloc都被处置了...
我该怎么办?

1 个答案:

答案 0 :(得分:0)

前段时间在bloc库GitHub问题中,有一个非常类似的问题was asked

这就是集团的创建者费利克斯(Felix)写的:

(...)不过,您有3个选择:

  • MaterialAppBlocProvider包裹起来以进行全局访问
  • 使用命名路由并设置BlocProvider以限制命名路由的作用
  • 通过构造函数将bloc传递到新页面,然后使用BlocProvider使它在其余子树中可用
  • 使用您的另一个DI库提供集团

Imo,通过构造器将集团传递到新页面并再提供一次(...)