路由routes

设置routes, 单独设置一个routes.dart文件

// routes.dart
Map<String, Widget Function(BuildContext)> routes = {
  "/login": (context) => loginController(),
  '/main': (context) => MainTabBarView(),
  '/verifyInfo': (context) => VerifyInfoController(),   // 我的页面- 认证信息
  '/pwdManager': (context) => PwdManagerController(),   // 我的页面- 密码管理
  '/webviewLoadHTTP': (context) => WebviewLoadHTTP(),   // webView加载HTTP URL
  '/webviewLoadHTML': (context) => WebviewLoadHTML(),   // webView加载HTML
  '/checkUpdate': (context) => CheckUpdateController(),  // 我的页面- 检查版本更新
};

在main.dart中

// main.dart
class MyApp extends StatelessWidget {
  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primaryColor: Global.theme,
        brightness: Brightness.light,
      ),
      debugShowCheckedModeBanner: false,
      routes: routes,    // 设置routes
      home: loginController(),
    );
  }
}

优点:页面路由只在routes.dart中设置,方便查看。
缺点:这种方式往下一个页面传值,需要在下一个页面加载时才能获取到这个值。如果下个页面setState()时,值也会刷新一下,如果传递的时id,通过id在网络获取详情信息时,刷新页面时也会重新请求数据,请求完再刷新,就会造成死循环。


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Vue3中,路由的配置可以通过创建一个数组来实现。每个路由对象都包含了路径(path)、名称(name)和组件(component)的信息。以下是一个示例的路由配置: ``` const routes = [ { path: '/login', name: 'Login', component: LoginView }, { path: '/', name: 'Index', component: IndexView } ]; ``` 在这个例子中,我们定义了两个一级路由:一个是路径为`/login`,名称为`Login`,组件为`LoginView`;另一个是路径为`/`,名称为`Index`,组件为`IndexView`。 这个路由配置数组可以在创建路由实例时传入。你可以使用`createRouter`方法来创建一个路由实例,并在其中传入这个路由配置数组。例如: ``` import { createRouter, createWebHistory } from 'vue-router'; import LoginView from '../views/login/LoginView.vue'; import IndexView from '../views/index/IndexView.vue'; const router = createRouter({ history: createWebHistory(), routes }); export default router; ``` 在这个例子中,我们还使用了`createWebHistory`方法来创建路由的历史模式。你也可以使用`createWebHashHistory`方法来创建路由的哈希模式。这取决于你的项目需求和部署环境。 最后,我们将这个路由实例导出,以便在其他地方使用。 请注意,这只是一个简单的例子,你可以根据自己的需求来配置更多的路由。同时,你还需要在主入口文件(例如`main.ts`)中使用`app.use(router)`来启用路由。 希望对你有所帮助!<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Vue3 路由配置](https://blog.csdn.net/weixin_45137240/article/details/131042101)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值