在我的应用程序中有几页。两页需要使用一个块。
我使用namedRoutes在页面之间进行导航,BlocProvider
位于应用程序小部件的顶部,因此为应用程序的所有页面提供了它,但是我只想为两个页面提供它,以便在导航至两个页面之一时创建了一个新的bloc实例,当我离开两个页面时,该bloc都被处置了...
我该怎么办?
答案 0 :(得分:0)
前段时间在bloc库GitHub问题中,有一个非常类似的问题was asked。
这就是集团的创建者费利克斯(Felix)写的:
(...)不过,您有3个选择:
- 用
MaterialApp
将BlocProvider
包裹起来以进行全局访问- 使用命名路由并设置
BlocProvider
以限制命名路由的作用- 通过构造函数将bloc传递到新页面,然后使用
BlocProvider
使它在其余子树中可用- 使用您的另一个DI库提供集团
Imo,通过构造器将集团传递到新页面并再提供一次(...)