在 flutter web 中直接使用 url 参数导航到网页

Navigate to a webpage directly with url parameters in flutter web

我正在为带有 flutter web 的文章创建一个简单的网络应用程序,用户可以使用 link 导航到特定文章,参数包含文章 ID,如 webpage.com/articles/123。到目前为止,我有阅读并尝试了一堆东西,但没有任何效果。我能够从 URL 中提取 ID。但是,当用户尝试在地址栏中执行此操作并且用户被重定向到主页时,不会显示任何页面。我怎样才能做到这一点。

您需要在 Material 应用中添加路线:

home: ProjectPage(),
routes: <String, WidgetBuilder>{
      '/home': (BuildContext context) => HomePage(),
      '/login': (BuildContext context) => LoginPage(),
},

首先,您需要使用路由导航并在MaterialApp class中定义它们。正确完成后,您的 Flutter 应用程序将直接启动特定的 ArticlesScreens - 然后您可以共享 link(例如 webpage.com/articles/123),将其粘贴到您的浏览器中,然后登陆您应用程序的 [=14] =] 显示 ID 为 123.

的文章
class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      onGenerateRoute: (settings) {
        if (settings.name.contains("/articles/")) {
          //parse the URL and get the article ID here
          final String articleId = getArticleIdFromUrl(settings.name);

          return ArticleScreen(articleId: articleId);
        }

        switch (settings.name) {
          case "/":
            return MainScreen();
          default:
            return MainScreen();
        }
      },
      initialRoute: "/",
    );
  }

我尝试了软件包 flutter_modular,效果很好。