flutter区别于vue的写法

View.dart

页面渲染:

类似于vue里面使用 <template> <div> <span> <textarea>等标签绘制页面,

flutter 里面则是使用不同的控件来绘制页面

样式

与传统vue不同的是 flutter里面没有css/scss样式表,

Flutter的理念是万物皆为widget,Flutter 的布局依靠于控件,样式依靠于控件的属性

常用控件

Container

container是最常用的布局,是由其他好几个默认的widget组成的模板。 支持padding,margin,color,width,height ... 属性。

Padding

用来设置padding的控件。职责非常单一。 同类的还有Center(设置居中),Align等。

Column、Row、Center

最常见的横竖中心布局。

点击事件

点击执行 logic.dart 里面的方法

State.dart

用于存储页面数据,实现了数据的跨帧保存和恢复;在widget构建的时候可以被读取;在widget生命周期中发生改变;

如何遍历数组输出内容

例如:我们要展示一个列表,vue中我们通常会使用 v-for 去遍历一个数组来做展示,flutter中的写法有所变动

1、list.map(( item ) { }).toList()

2、list.asMap().map(( i , data ) => MapEntry ( i , Row() )) .values .toList(),

3、ListView.builder()

logic.dart

类似于vue2里面的 methods{} 或者vue3里面定义的方法

生命周期

@override

// 生命周期 类似于vue2-mounted() 或vue3-onMonuted()

javascript 复制代码
void onInit() {

super.onInit();

change(state, status: RxStatus.success()); // 新建一个页面的时候需要在执行一下

}

@override

void onClose() {

super.onClose();

// 销毁监听

}

eventBus的使用

枚举出监听事件的行为和触发监听需要传入的参数

一般在onInit ( )中监听

触发监听

page.dart

路由配置的时候引入

app_pages.dart : 引入page.dart

app_routes.dart : 定义路由变量

javascript 复制代码
Get.offAllNamed(Routes.LOGIN);

Get.toNamed('/${_path}', arguments: queryParams);

Get.toNamed(Routes.TAKE_PICTURE)?.then((res) {

if (res != null) { }

}});

Get.back(result: data);
相关推荐
传奇开心果编程19 小时前
【现代声明式UI学与练】第4课 列表渲染与 key——如何高效渲染列表、key 的作用、列表重排时的状态保持
学习·flutter·react native·ui·swiftui·android jetpack
m0_738185821 天前
Flutter 鸿蒙化实战:media_info 适配 OpenHarmony,媒体信息与缩略图
flutter·华为·harmonyos·鸿蒙·媒体
m0_738185821 天前
Flutter 鸿蒙化实战:just_audio 适配 OpenHarmony,功能强大的播放器
flutter·华为·harmonyos·鸿蒙
传奇开心果编程1 天前
【现代声明式UI学与练】第7课 组件通信——父传子、子传父、跨层级通信、状态提升与 Context
学习·flutter·react native·ui·swiftui·android jetpack
律宏阔2 天前
Flutter 列表图片内存优化:CachedNetworkImage 与 ClipRRect 的取舍
前端·flutter
律宏阔2 天前
Dart 3 Record:解决 Future.wait 异构返回值的类型问题
前端·flutter
伯伯熊勞2 天前
GetX 巢狀路由教學:用三層 Navigator 做桌面多欄佈局
flutter
传奇开心果编程2 天前
【现代声明式UI学与练】第9课 性能优化——渲染优化、列表优化、内存优化、启动优化
学习·flutter·react native·ui·性能优化·swiftui·android jetpack
m0_738185822 天前
Flutter 鸿蒙化实战:foundation_fluttify 适配 OpenHarmony,Fluttify 桥接层
flutter·华为·harmonyos·鸿蒙
m0_738185822 天前
Flutter 鸿蒙化实战:http_proxy 适配 OpenHarmony,HTTP 代理
flutter·http·华为·harmonyos·鸿蒙