当前位置: 首页 > news >正文

Flutter 中的单例模式

传统:

class RouterManager {// 单例模式static final RouterManager _instance = RouterManager._internal();factory RouterManager() {return _instance;}RouterManager._internal();
}

传递参数进行初始化时:


class RouterManager {// 私有静态实例,确保单例static RouterManager? _instance;// goRouter 是 final 变量,确保它只被初始化一次final GoRouter goRouter;// 私有构造函数RouterManager._internal(this.goRouter);// 工厂方法,返回 RouterManager 实例factory RouterManager({String initialLocation = '/'}) {_instance ??= RouterManager._internal(buildRouter(initialLocation));return _instance!;}static GoRouter buildRouter(String initialLocation) {return GoRouter(initialLocation: initialLocation,routes: [GoRoute(path: '/', builder: (context, state) => const SplashPage()),GoRoute(path: '/home', builder: (context, state) => const HomePage()),GoRoute(path: '/detail/:id',builder: (context, state) {final id = state.pathParameters['id']!;return DetailPage(id: id);},),],errorBuilder:(context, state) => Scaffold(body: Center(child: Text('Error: ${state.error}'))),);}
}
http://www.lryc.cn/news/540749.html

相关文章:

  • 8.python文件
  • 2025vue4.x全栈学习关键技术分析线路图
  • 革新之力:数字科技——重塑未来的超越想象之旅
  • 超级详细,知识图谱系统的理论详解+部署过程
  • 电路笔记 (信号): opa tips 放大器反馈电阻并联电容抑制高频噪声的详细推导(传递函数分析)
  • DeepSeek安装部署笔记(一)
  • 【JavaEE进阶】Spring MVC(4)-图书管理系统案例
  • Ubuntu部署ktransformers
  • 助力DeepSeek私有化部署服务:让企业AI落地更简单、更安全
  • 面试官询问项目前后端人员配比之高分示范回答
  • MyBatis中的日志和映射器说明
  • 深入了解 Pinia:Vue 的下一代状态管理工具 (上篇)
  • Unity 中导入的VRM模型渲染为VRoid风格
  • 【ELK】【Elasticsearch 】DSL 和 DQL
  • 最新版本Exoplayer扩展FFmpeg音频软解码保姆级教程
  • 面对低消费欲人群,我们如何开发其需求?
  • 《算法基础入门:最常用的算法详解与应用(持续更新实战与面试题)》
  • Linux设备驱动-练习
  • 蓝桥杯核心内容
  • Spring Boot拦截器(Interceptor)详解
  • 非常好用的ssh工具Xterminal
  • 【Python项目】基于Django的医疗领域用户问答意图识别系统
  • 深入理解指针(六)
  • Linux下基本指令(4)
  • vue 手写分页
  • Spring Boot项目接收前端参数的11种方式
  • Springboot项目:使用MockMvc测试get和post接口(含单个和多个请求参数场景)
  • OpenAI ChatGPT在心理治疗领域展现超凡同理心,通过图灵测试挑战人类专家
  • 【HBase】HBaseJMX 接口监控信息实现钉钉告警
  • 25旅游管理研究生复试面试问题汇总 旅游管理专业知识问题很全! 旅游管理复试全流程攻略 旅游管理考研复试真题汇总