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

flutter文件分类模板之modules

app页面主要的widget构建和路由注册

app/modlues/home/ views

/// home/views 页面ui层
import 'package:get/get.dart';
import 'package:flutter/material.dart';class BannerPage extends StatelessWidget {const BannerPage({super.key});@overrideWidget build(BuildContext context) {return GetBuilder<HomeController >(init: Get.find<HomeController >(),builder: (controller) => Scaffold(body: Container(alignment: Alignment.center,child: Flex(direction: Axis.horizontal, children: [for (var i = 0; i < controller.buttons.length; i++)ElevatedButton(onPressed: () => controller.onItemTapped(i),child: Text(controller.buttons[i]['name']),),// controller.buildWidget()])// Obx(() => Text(controller.title.value))),),);}
}

 app/modlues/home/controllers

import 'package:get/get.dart';class HomeController extends GetxController {String str = ''.obs // 响应的字符串RxInt count = 0.bos // 响应的数字List data_list = [].obs // 响应数组(元组) 不确定好像是这么写的最好自己确认一下Map obj = {}.obs // 响应对象 data_list.add({ "name": 'w'}) // 数组添加数据data_list.where( item => item['name'] == 'w') // 类似es6中arr.filter()/// 页面层所需要的RxString title = 'hello'.tr.obs;List buttons = [{"name": "whrite".tr, "path": '/whrite'},{"name": "recordList".tr, 'path': '/record_list'},{"name": 'api'.tr, 'path': '/api', 'isRouter': true}];// 点击按钮触发事件void onItemTapped(int i) async {// Get.toNamed(buttons[i]['path']);if (buttons[i]['isRouter'] == true) {// HomeNet.getHomePageContent();await getHomePageContent();} else {Get.toNamed(buttons[i]['path']);}}// 接口触发 !!这里有问题getHomePageContent() async {print('第一层');Response response = await HomeNet().getHomePageContent();print(response);update();}@overridevoid onInit() {print('初始化');}}

 app/modlues/home/binding

// 链接ui层和控制层
import 'package:get/get.dart';
import 'package:my_notice/app/modules/banner/controllers/banner_controller.dart';class BannerBinding extends Bindings {@overridevoid dependencies() {Get.lazyPut(() => BannerController());}
}

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • NLP中的Tokenizer分词器的概念与实现
  • 一些关于科技的想法
  • 代码随想录训练营Day 56|力扣300.最长递增子序列、674. 最长连续递增序列、718. 最长重复子数组
  • 概率论与数理统计,重要知识点——全部公式总结
  • Vue3_对接腾讯云COS_大文件分片上传和下载
  • Windows环境如何使用Flutter Version Manager (fvm)
  • S1E48:内存池 课后作业
  • DeepSORT(目标跟踪算法)中自由度决定卡方分布的形状
  • 34、matlab输入命令汇总
  • 中科数安 |-公司办公透明加密系统,数据防泄漏软件
  • 【Vue】核心概念 - module
  • MySQL之查询性能优化(七)
  • JavaWeb期末知识点复习
  • Unity 使用TextMeshPro实现图文混排
  • azure cli的安装和使用
  • [分享]iOS开发-关于在xcode中引用文件夹右边出现问号的解决办法
  • mockjs让前端开发独立于后端
  • Spring Cloud Feign的两种使用姿势
  • vue从创建到完整的饿了么(18)购物车详细信息的展示与删除
  • Webpack 4x 之路 ( 四 )
  • weex踩坑之旅第一弹 ~ 搭建具有入口文件的weex脚手架
  • 翻译 | 老司机带你秒懂内存管理 - 第一部(共三部)
  • 回流、重绘及其优化
  • 小程序测试方案初探
  • 用quicker-worker.js轻松跑一个大数据遍历
  • 正则学习笔记
  • 【云吞铺子】性能抖动剖析(二)
  • 扩展资源服务器解决oauth2 性能瓶颈
  • ​3ds Max插件CG MAGIC图形板块为您提升线条效率!
  • ​ssh免密码登录设置及问题总结
  • ​软考-高级-系统架构设计师教程(清华第2版)【第9章 软件可靠性基础知识(P320~344)-思维导图】​
  • ## 基础知识
  • #Lua:Lua调用C++生成的DLL库
  • #pragma 指令
  • #window11设置系统变量#
  • #我与Java虚拟机的故事#连载11: JVM学习之路
  • $redis-setphp_redis Set命令,php操作Redis Set函数介绍
  • (16)Reactor的测试——响应式Spring的道法术器
  • (k8s)Kubernetes 从0到1容器编排之旅
  • (Matalb时序预测)WOA-BP鲸鱼算法优化BP神经网络的多维时序回归预测
  • (zz)子曾经曰过:先有司,赦小过,举贤才
  • (编程语言界的丐帮 C#).NET MD5 HASH 哈希 加密 与JAVA 互通
  • (第一天)包装对象、作用域、创建对象
  • (附源码)springboot电竞专题网站 毕业设计 641314
  • (计算机网络)物理层
  • (十)DDRC架构组成、效率Efficiency及功能实现
  • (十八)SpringBoot之发送QQ邮件
  • (原+转)Ubuntu16.04软件中心闪退及wifi消失
  • (转)Mysql的优化设置
  • (转)关于pipe()的详细解析
  • (转)利用ant在Mac 下自动化打包签名Android程序
  • 、写入Shellcode到注册表上线
  • .cn根服务器被攻击之后
  • .NET Compact Framework 多线程环境下的UI异步刷新
  • .net core 依赖注入的基本用发