作为标题,GETX包含许多功能,各种POP -UP小部件,路由管理,国际化,UTILS,状态管理等。本文仅用于核心功能的核心功能 - 国家管理的基本使用(没有分析)。对于从浅层到深处,全面的详细介绍,我还使用GetX来阅读一些文档和博客。这篇文章是从一个小角度完成的。仔细阅读后,必须没有问题。尽管作者试图尽可能直接和简单,因为本文基本上包含了GETX状态管理的大部分内容,以及大量的示例代码(主要是重复代码在柜台),可能有点长。
有3种声明方法:
演示使用,以计数为例:
注意:目前,计数类型为rxint,而不是int.您可以通过count.value获得自己的int值
当我们查看源代码时,我们可以发现当找到呼叫时,内部由包装层执行,因此为了方便开发人员。建议使用此方法声明变量。
使用新的自定义类
在实际项目开发中,我们通常不会像上面的UI代码和业务逻辑一样将UI代码和业务逻辑放在一起,因此体系结构,代码可读性,以后的优化和项目的维护将是致命的。它还为我们提供了一个解决方案:
使用三种方法:
要使用的场景:
一般而言,大多数方案都可以使用响应变量。但是,每个响应变量都需要生成相应的getTream。如果有足够的对象,将生成大量的get流以在内存上造成巨大压力。在这种情况下,有必要考虑使用简单的状态管理。
类继承,处理页面逻辑,
注意:
get.putAsync(()async {final prefs =等待sharedPreferences.getInstance();等待prefs.setint('counter',12345); return prefs;');
注意:
指定使用相同变量的IDBuilder,但我们只想更新getBuilder变量,您可以添加一个参数
方案:按下操作计数器后,推送到达,返回,显示点击的数量。
第1页:逻辑层:
查看层:
第二页:逻辑层:
注意:
包括相对完整的生命周期回调,您可以接受传输数据;如果需要将收到的数据刷新到接口,请在回调中接收数据操作。页面刷新操作是在初始加载后执行的。
查看层:
通过上一个实例,获得相应的事件。
以上是同一位置的所有状态变量和操作,但是在复杂的业务场景中,这似乎非常多余,不利于以后的维护和优化。因此,我们将三个结构分开:状态(状态层),逻辑(逻辑层))和查看(接口层)。
纤维转化:
统一管理所有状态变量
考试州班以操作所有变量
上述重建后,代码结构清晰清晰。
事件发生时,工人将帮助您触发特定的回调。
注意:
工人在启动控制器或类时应始终使用它,因此它应该始终是oninit,类构造函数或statefulwidget initstate(在大多数情况下,不建议采用这种方法,但不应有任何副作用)。
使用GETX时,通常每次都使用控制器。如果每个接口必须一次实例化,则有些麻烦。使用绑定可以解决上述问题,统一初始化所有需要状态管理的控制器,并直接使用相应的使用。
无需为单独的绑定()创建一个新的绑定类,而是直接使用构建器绑定构建器。
就我个人而言,我不建议使用GetView和GetWidget对Nectelesswidget进行足够的使用。如何注入和释放,简单明了。
GetView注入了控制器中,有一个命名的方法:
最终名称=''.obs;
最终ISLOGGED = false.obs;
最终计数=0。obs;
最终barance = 0.0.Obs;
最终数=0。Obs;
最终iTes =
最终mymap =
//自定义类 - 可以是任何班级
最终用户=用户()。obs;6帮助我们实施了它。当我们只是一个控制器作为依赖项时,可以使用它。避免它,只需直接使用它即可。
使用方法非常简单,只是从getView继承了视图层,然后传递需要注册和get.put()的控制器。
通常,当释放视图层时,控制器将自动释放。
注意:
因为我们的大多数情况不需要缓存控制器,所以我们很少使用getwidget,因为它总是会捕获缓存,请谨慎使用!
一个小型案例的摘要与先前学习的知识相结合,主要使用MVC模式,包括网络请求,模型处理和使用GetXController。
输入新闻列表的空白页,显示加载,加载,显示页面上的数据以及加载的消失。