Flutter 如何将参数传递给route?

Flutter 如何将参数传递给route?,flutter,Flutter,我试着把争论的困难从第一页转到第二页,但我不明白怎么做: 此参数是一个字符串,表示难度模式easy、normal和hard 第一页: 当用户单击按钮时,调用OnPressed onPressed: () { Navigator.pushNamed(context, '/gamepage', arguments: _difficulty); }, 第二页 此调用接收参数用于显示值 import 'package:flutter/material.dart'; class GamePa

我试着把争论的困难从第一页转到第二页,但我不明白怎么做: 此参数是一个字符串,表示难度模式easy、normal和hard

第一页: 当用户单击按钮时,调用OnPressed

onPressed: () {
   Navigator.pushNamed(context, '/gamepage', arguments: _difficulty);
},
第二页 此调用接收参数用于显示值

 import 'package:flutter/material.dart';

 class GamePage extends StatelessWidget {    
  final String difficultyMode;
  GamePage(this.difficultyMode);

  @override
  Widget build(BuildContext context) {

    final GamePage args = ModalRoute.of(context).settings.arguments;

    return Scaffold(
      body:  new Container(
          child: SingleChildScrollView(
              child: Text(args.difficultyMode)
          )
      ),
    );
  }
}
在main.dart中: I使用onGenerateRoute:\u getRoute

Route _getRoute(RouteSettings settings) {
    switch (settings.name){
      case '/':
        return _buildRoute(settings, new Homepage());
      case '/credits':
        return _buildRoute(settings, new Credits());
      case '/gamepage':
        return _buildRoute(settings, new GamePage(diffculty));
      default:
        return null;
    }
  }

你可以通过路由设置获得你的论点

您可以通过以下方式访问它:

case '/gamepage':
    String difficulty = settings.arguments;
    return _buildRoute(settings, new GamePage(difficulty));
希望有帮助