在我的主要方法中,我有
onGenerateRoute: (route) {
print(route);
return Router.generateRoute(route);
}
Run Code Online (Sandbox Code Playgroud)
如果我输入 URL,https://myurl.com/#/foo/bar我可以看到多次调用打印。
/
Run Code Online (Sandbox Code Playgroud)
/foo
Run Code Online (Sandbox Code Playgroud)
/foo/bar
Run Code Online (Sandbox Code Playgroud)
我有一个问题,因为我想输入bar路径,但它被输入了foo。
任何想法我应该如何进行?
use*_*956 11
情况变得更糟。将 initalRoute 设置为/home/1/2/3/4/5,onGenerateRoute 将被调用 7 次。
你可以通过以下方法让它变得不那么可怕:
MaterialApp app;
app = MaterialApp(
onGenerateInitialRoutes: (initialRoute)=>[app.onGenerateRoute(RouteSettings(name:initialRoute))],
initialRoute: initial,
onGenerateRoute: app.onGenerateRoute);
Run Code Online (Sandbox Code Playgroud)
这可以避免您多次调用 Route 的 initState 以及路径中每个“/”一次的 onGenerateRoute 。但是,如果您在浏览器栏中提供路径,仍然会调用 onGenerateRoute 两次。
我已经提交了错误报告:https ://github.com/flutter/flutter/issues/71786
| 归档时间: |
|
| 查看次数: |
430 次 |
| 最近记录: |