第一种:使用 GetView 或 GetWidget(对于无状态组件)来自动注入控制器:// home_page.dart import'package:flutter/material.dart';import'package:get/get.dart';import'counter_controller.dart';classHomePageextendsGetView<CounterController> {// 继承自 GetView 并指定控制器类型@override Widget build(Bui...
RxString _astr= ''.obs;//修改值_anum.value++; _astr.value= 'abcdefg';//动态渲染值Obx(() => Text('${_anum.value} ${_astr.value}')); 6、状态管理控制器(多页面共享数据) 新增控制器文件如下: import 'package:get/get.dart'; class CounterController extends GetxController { RxInt count...
GetX的状态管理主要依赖于Rx(响应式变量)和GetxController(控制器) 依赖注入 1.定义可注入的类:这些类通常是控制器或服务,它们包含应用的业务逻辑或状态。 2.注册依赖:在应用的某个初始化阶段,将需要被注入的类注册到GetX的依赖容器中。这可以通过Get.put()或在GetMaterialApp的bindings数组中完成。 3.注入依赖:在...
import'dart:convert';import'package:get/get.dart';classListControllerextendsGetxController{// 第一种finallistOne=Rx<List<Map>>([{"name":"Jimi","age":18}]);// 第二种finallistTwo=RxList([{"name":"Jimi","age":18}]);// 第三种finallistThree=[{"name":"Jimi","age":18}].obs;void...
Getx 使用 Rx 类型来实现可观察对象。比如,在控制器中,可以使用 RxInt、RxString、RxList 等类型来定义可观察的变量。这些类型有一个 .obs 扩展方法,用于将普通变量转换为可观察的。 示例: varcount=0.obs;// RxInt 类型的可观察变量//第一种 使用 Rx{Type}finalname=RxString('');finalisLogged=RxBool(...
GetBuilder拥有StatefulWidget所有周期回调,如:initState、dispose可以在相应回调内做一些操作。但是比这更好的方法是直接从控制器中使用onInit()和onClose()方法。指定id刷新 多个GetBuilder使用同一个CounterController的变量,但是我们只想更新其中一个GetBuilder的变量,就可以在添加id参数 逻辑层finalname=Rx<String>(''...
import'package:get/get.dart';classPerson {//rx 变量RxString name = "Jimi".obs; RxInt age= 18.obs; } 获取类属性值以及改变值 classMyHomePageextendsStatefulWidget {constMyHomePage({super.key}); @override State<MyHomePage> createState() =>_MyHomePageState(); ...
RxInt age =0.bos; } var person = new Person() //赋值 person.name.value = '李四' 【数据共享】 创建 import 'package:get/get.dart'; class CounterController extends GetxController { RxInt counter = 0.obs; inc() { counter++; update();} ...
var count = Rx<int>(0); 这样,我们就创建了一个响应式的整数变量 "count",可以自动刷新所有依赖于该变量的地方。 GetBuilder GetBuilder是 GetX 框架中最基本的状态管理组件。我们可以使用GetBuilder组件来创建一个根据状态自动更新的小部件。 dartCopy code ...
import 'package:get/get.dart'; 1. 修改代码如下所示: import 'package:flutter/material.dart'; import 'package:get/get.dart'; class HomePage extends StatelessWidget { HomePage({super.key}); RxString test = "study state".obs; RxBool isUppercase = false.obs; ...