【问题标题】:routeSettings from Navigator to MaterialApp flutter从 Navigator 到 MaterialApp 的 routeSettings 颤动
【发布时间】:2019-07-24 21:53:52
【问题描述】:

有什么方法可以从 Navigator 类(超级...超级子)访问 MaterialApp 吗?

child: Navigator(
              onGenerateRoute: (RouteSettings settings){
                print('settings ${settings.name}');
                if(settings.name == '/'){
                  return MaterialPageRoute(
                      builder: (_) => _page(index),
                      settings: settings
                  );
                }
                else if(settings.name == '/blog_details'){
                  return CustomRoute<bool>(
                    builder: (BuildContext context) => BlogDetailsPage(widget.model)
                  );
                }
              },
            ),

从上面的代码到下面

child: MaterialApp(
          debugShowCheckedModeBanner: false,
          theme: getAdaptiveThemeData(context),
          routes: { /// some routes///}
          onGenerateRoute: (RouteSettings settings){
            if(settings.name == '/blog_details'){
              return CustomRoute<bool>(
                builder: (BuildContext context) => BlogDetailsPage(_model)
              );
            }
          },

【问题讨论】:

    标签: routes flutter navigator


    【解决方案1】:

    您可以通过rootNavigator: true 访问您的 MaterialApp 导航器,

    FlatButton(
       child: Text('Push App Route'),
       onPressed: () {
         Navigator.of(context, rootNavigator: true)
             .pushNamed('/blog_details');
       },
    )
    

    【讨论】:

      猜你喜欢
      • 2021-04-08
      • 2022-01-19
      • 1970-01-01
      • 2021-06-20
      • 2021-02-06
      • 1970-01-01
      • 2021-03-03
      • 2019-02-17
      • 2020-04-29
      相关资源
      最近更新 更多