使用Getx可以把逻辑,UI,数据分开。
还可以实时动态更新。
实现:
1 Getbuilder使用,
logic类
class MyLogic extend GetController{
}
page界面:
class MyPage extends statelessWidget {
声明logic: final logic = Getx.put(MyLogic());
@overider
buildcontext(){
return GetBuilder() {
return contentView();
},init:logic;
}
Widget contentView() {
return Scaffold();
}
}
可以全局使用。
更新等;
2 Obx包裹
Obx(()=>Container(child:Text(str.value)))
RxString str = ''.obs;
更新str时: str.value = '更新了';
界面上自动会更新str;
其他如:
Rx<Model类型> model = Model().obs;
Rxbool,
RxList<Model> list = [].obs;
3ObxValue包裹
ObxValue((_)=>ListView(),list)
list更新: list.value = ['1','2','3']等
或者list.add(xx)等
listview自动更新: