0

如果我们使用MaterialApp,我们会这样构建:

Navigator(
                key: naviKey,
                onGenerateRoute: (routeSettings) => MaterialPageRoute(
                  builder: (context)=>Container(),
                ),
              )

现在,如果我们使用如何构建Getx

4

1 回答 1

1

GetX 中的路由可以这样设置。注意Page1.id是在放入之后static const id = 'page_1Page1因此您不必使用原始字符串。

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return GetMaterialApp(
      home: Page1(),
      routes: {
        Page1.id: (context) => Page1(),
        Page2.id: (context) => Page2(),
      },
    );
  }
}

或者像这样

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return GetMaterialApp(
      home: Page1(),
      getPages: [
       GetPage(name: Page1.id, page: () =>  Page1()),
       GetPage(name: Page1.id, page: () =>  Page1()),
      ],
    );
  }
}

如果您不想让您GetMaterialApp的所有路线混乱,您可以在另一个页面上设置路线列表。

然后当你想导航时,你可以这样做

Get.to(Page2());
于 2021-02-25T15:56:30.403 回答