网上接单干活的平台,如何针对你的网站做搜索优化,外贸型企业网站建设,可以建设网站无论是什么样的应用#xff0c;都还是需要最基础的数据来支撑的#xff0c;而且不同的页面之间可能需要共享数据状态#xff0c;这就显得数据状态管理非常有必要了。因为我这里使用了get依赖库#xff0c;所以就可以直接在项目中使用getx来管理状态#xff0c;不想再使用别…无论是什么样的应用都还是需要最基础的数据来支撑的而且不同的页面之间可能需要共享数据状态这就显得数据状态管理非常有必要了。因为我这里使用了get依赖库所以就可以直接在项目中使用getx来管理状态不想再使用别的框架了。而且getx使用起来也挺方便的。
在flutter中文网里面还是有许多状态管理依赖库推荐的状态 (State) 管理参考 - Flutter 中文文档 - Flutter 中文开发者网站 - Flutter
但是我这里就讲一下getx的使用很简单三步就可以完成使用。
get依赖包地址get | Flutter Package 添加get依赖
在pubspec.yaml文件中添加所需要的第三方依赖库
dependencies:flutter:sdk: flutter# The following adds the Cupertino Icons font to your application.# Use with the CupertinoIcons class for iOS style icons.cupertino_icons: ^1.0.2get: ^4.6.6 创建store
在项目目录下面创建stores文件夹用来管理全局的数据状态可以通过分类将不同的状态封装在不同的dart文件中 例如user.dart源代码
import package:get/get.dart;class UserInfo extends GetxController {// 用户名字var name .obs;// 用户密码var passwd .obs;// 用户年龄var age 0.obs;// 用户权限var power [].obs;// 以下为周期函数overridevoid onInit() {print(onInit);super.onInit();}overridevoid onClose() {// 控制器绑定在路由上的话路由销毁则触发print(onClose);super.onClose();}overridevoid onReady() {print(onReady);super.onReady();}// 增加状态管理的数值void addAge() {age.value;update(); // 调用obx更新数据不然数据不会更新}// 减少状态管理的数值void setName(String val) {name.value val;update();}// 修改用户密码void setPasswd(String pw) {passwd.value pw;update();}// 配置用户权限void addPower(pws) {var pwsTemp [...power, ...pws];power.value pwsTemp;}// 清空状态数据void clear() {name.value ;passwd.value ;age.value 0;power.value [];}
}在页面中引用
在main.dart中使用GetMaterialApp创建的app才可以哦使用后就可以到页面中引入并使用了直接使用即可注意需要引入get
import package:get/get.dart;UserInfo user Get.put(UserInfo()); 如果想在页面中使用这个状态数据
Obx(() Text(${user.age})),
想要点击按钮设置里面的值直接调用里面的方法就好 ElevatedButton(onPressed: () {print(添加Powers);user.addPower([10]);},child: Text(添加Power10)), 比如我在登录页面添加用户名和密码到首页就可以看到我的那些数据 首页展示数据