You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter Auto_Route从5.0.1升级至7.7.1的路由名称问题

解决AutoRoute 7.7.1升级后路由配置中Auth.page未定义的问题

问题场景

接手一个已使用auto_route的Flutter项目,将插件升级至7.7.1版本,用Android Studio的AutoRoute-helper工具完成大部分适配后,遇到如下报错:
在路由文件中配置:

AutoRoute(path: '/auth/', page: Auth.page, meta: {'name': 'Authentication'})

提示错误:The getter 'page' isn't defined for the type 'Auth'

已给Auth页面添加@RoutePage()注解,且执行了flutter packages pub run build_runner build命令,但路由仍无法识别.page或.name属性,按常规教程操作后问题未解决。

解决方法

自动生成的router.gr.dart文件中,会为每个带@RoutePage()注解的页面生成一个带Route后缀的类(比如Auth对应的AuthRoute),需要从这个文件导入该类,然后使用生成类的属性来配置路由:

  1. 导入生成的路由类:
import 'package:your_project_name/router.gr.dart';
  1. 修改路由配置代码:
AutoRoute(path: '/auth/', page: AuthRoute.page, meta: {'name': 'Authentication'})

如果是需要通过路由名称跳转,直接使用AuthRoute.name即可,比如:

context.pushRoute(AuthRoute());
// 或者用名称跳转
context.pushNamed(AuthRoute.name);

内容的提问来源于stack exchange,提问作者Zannabrighel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 13:10:02