[Flutter GetX使用] Getx路由和状态管理-GetController使用过程中的踩坑记录
import 'package:flutter/material.dart';
import 'package:get/get.dart';
class ExampleController extends GetxController {
var count = 0.obs; // 使用Getx的Observable变量
void increment() => count.value++; // 增加计数的方法
}
class ObserverPage extends StatelessWidget {
final ctrl = Get.put(ExampleController()); // 使用Get.put创建控制器实例
@override
Widget build(BuildContext context) {
return Scaffold(
body: Center(
child: Obx(() => Text('${ctrl.count}')), // 使用Obx来监听Observable变量的变化
),
floatingActionButton: FloatingActionButton(
onPressed: ctrl.increment, // 调用控制器的方法来改变Observable变量的值
child: Icon(Icons.add),
),
);
}
}
void main() {
runApp(GetMaterialApp(home: ObserverPage()));
}
这个代码示例展示了如何在Getx框架中使用GetController来管理状态,并且使用Obx来响应式地更新UI。通过点击FloatingActionButton来触发ExampleController中的increment方法,更新Observable变量count的值,并在ObserverPage的Text组件中显示最新的计数值。这个例子简洁地展示了Getx的路由管理和状态管理的基本使用方法。
评论已关闭