Flutter getx:当我不使用导航器时,将每个绑定分开在自己的绑定中
Flutter getx: separate each binding inside own binding when I don't use navigator
我正在使用 getx。我的应用程序和 mainBinding 中有一个主页。在主页里面我有一个 Tabbar。主页有很多页面,任何页面都以这种方式加载:
child: TabBarView(
controller: controller.tabController,
physics: const NeverScrollableScrollPhysics(),
children: [
ReportOverallPage(),
Container(),
Container(),
Container(),
Container(),
Container(),....
],
),
如您所见,未使用 Navigator 的 ReportOverallPage() 页面意味着未被推入堆栈区导航器,因此我无法为每个页面创建绑定。
每个页面都有自己的存储库和控制器。现在我必须在 MainBinding 中添加所有控制器和存储库。
class MainViewBinding implements Bindings {
@override
void dependencies() {
Get.lazyPut<MainViewController>(() => MainViewController());
Get.lazyPut<ReportController>(
() => ReportController(Get.find<ReportRepository>()));
Get.lazyPut<ReportRepository>(
() => ReportRepositoryImp(Get.find<RestClient>()));
.........
}
}
现在 MainBainding 有一长串 Putted class.How 我可以在自己的绑定 class 中分隔每个绑定 class 吗?不使用导航器?
恐怕没有直接的方法可以做到这一点。因为绑定是特定于页面(或导航)的,所以您必须将依赖项与页面绑定。标签不是页面。因此,您不直接将依赖项绑定到它们。您需要将它们与包含页面绑定。
但一种解决方法是创建单独的绑定 class,然后在 MainBinding
的 dependencies()
方法中调用每个绑定的 dependencies()
方法 class.
我正在使用 getx。我的应用程序和 mainBinding 中有一个主页。在主页里面我有一个 Tabbar。主页有很多页面,任何页面都以这种方式加载:
child: TabBarView(
controller: controller.tabController,
physics: const NeverScrollableScrollPhysics(),
children: [
ReportOverallPage(),
Container(),
Container(),
Container(),
Container(),
Container(),....
],
),
如您所见,未使用 Navigator 的 ReportOverallPage() 页面意味着未被推入堆栈区导航器,因此我无法为每个页面创建绑定。
每个页面都有自己的存储库和控制器。现在我必须在 MainBinding 中添加所有控制器和存储库。
class MainViewBinding implements Bindings {
@override
void dependencies() {
Get.lazyPut<MainViewController>(() => MainViewController());
Get.lazyPut<ReportController>(
() => ReportController(Get.find<ReportRepository>()));
Get.lazyPut<ReportRepository>(
() => ReportRepositoryImp(Get.find<RestClient>()));
.........
}
}
现在 MainBainding 有一长串 Putted class.How 我可以在自己的绑定 class 中分隔每个绑定 class 吗?不使用导航器?
恐怕没有直接的方法可以做到这一点。因为绑定是特定于页面(或导航)的,所以您必须将依赖项与页面绑定。标签不是页面。因此,您不直接将依赖项绑定到它们。您需要将它们与包含页面绑定。
但一种解决方法是创建单独的绑定 class,然后在 MainBinding
的 dependencies()
方法中调用每个绑定的 dependencies()
方法 class.