flutter web中url路由模式以及参数传递

Flutter开发中,项目中我使用Get库进行路由管理状态管理。其页面跳转使用Get.toNamed()的方式是比较方便的,参数传递方式也比较简单,例如

Get.toNamed(
    AppRouters.myOrderList,
    arguments: {
        "fromExternal": true,
        "orderStatus": 2
    }
);

可以在对应页面的Controller中onInit方法中,获取到传递过来的参数。

在web的场景中,情况会变得稍微有点复杂。 在web中除了页面跳转以及参数传递外,它的每个页面都有个对应的url,用户可以通过浏览器直接访问到某一个指定的页面,跟App相比,这点就脱离了程序的本身的掌控范围。直接通过Url来进入到指定页面,就需要可以通过URL传递参数的需求。