Flutter GetX的事件监听
Flutter GetX的事件监听
import 'package:flutter/material.dart';
import 'package:flutter_code/page/book/bookEntity.dart';
import 'package:get/get.dart'; class MyBook extends StatelessWidget {
const MyBook({super.key}); @override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
backgroundColor: Colors.red, //导航背景颜色
title: Text("我的Get"),
),
body: myHome(),
);
}
} class myHome extends StatefulWidget {
const myHome({super.key}); @override
State<myHome> createState() => _myHomeState();
} class _myHomeState extends State<myHome> {
BookEntity bookEntity = Get.find<BookEntity>(); //实例化控制器 @override
void initState() {
// TODO: implement initState
super.initState();
ever(bookEntity.BookId, (value) {
print('监听bookId1 $value');
}); // 监听bookId的变化
bookEntity.BookId.listen((value) {
print('监听bookId2 $value');
}); everAll([bookEntity.BookId, bookEntity.LetterId], (value) {
//BookId与LetterId任意一个发生变化时监听
print('BookId与LetterId任意一个发生变化时监听 $value');
}); bookEntity.addListener(() {
//对象中任意一个发生变化就会被监听
print('监听全部_________________________');
}); // count值改变时调用,只执行一次
once(
bookEntity.BookId, //监听值
(callback) => print(
"once---------${bookEntity.BookId},${bookEntity.LetterId},-----------")); // 值在1秒中不断改变,当值已经超过1秒后,不再改变,才调用,主要是防DDos
debounce(
bookEntity.BookId, //监听值
(callback) => print(
"debounce-----${bookEntity.BookId},${bookEntity.LetterId},-----监听count1的值,停止输入1秒后--执行------"));
// // 忽略3秒内的所有变动,有输入值时,3秒内会执行一次,如一直在输入,连续输入9秒,会每隔3秒执行一次
// 用于微信对方正在输入中
interval(
bookEntity.BookId, //监听count1的值
(callback) => print(
"interval-----${bookEntity.BookId},${bookEntity.LetterId},-----监听count1的值----忽略3秒内的所有变动------"));
} @override
Widget build(BuildContext context) {
return Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Obx(() => Text("bookid: ${bookEntity.BookId}")),
ElevatedButton(
onPressed: () {
bookEntity.setBookId(bookEntity.BookId + 1);
},
child: const Text("bookid 加1")),
Obx(() => Text("LetterId: ${bookEntity.LetterId}")),
ElevatedButton(
onPressed: () {
bookEntity.setLetterId(bookEntity.LetterId + 1);
},
child: const Text("LetterId 加1")),
],
),
);
}
}
Flutter GetX的事件监听的更多相关文章
- 26 Flutter仿京东商城项目 购物车之 event_bus事件广播 事件监听
event_bus 介绍 在前面的课程我们给大家讲过状态管理 Provider 的使用. 通俗的讲状态管理就是:当我们想在多个页面(组件/Widget)之间共享状态(数据),或 者一个页面(组件/Wi ...
- java 事件监听 - 鼠标
java 事件监听 - 鼠标 //事件监听 //鼠标事件监听 //鼠标事件监听有两个实现接口 //1.MouseListener 普通的鼠标操作 //2.MouseMotionListener 鼠标的 ...
- Java中的事件监听机制
鼠标事件监听机制的三个方面: 1.事件源对象: 事件源对象就是能够产生动作的对象.在Java语言中所有的容器组件和元素组件都是事件监听中的事件源对象.Java中根据事件的动作来区分不同的事件源对象,动 ...
- Java自学-图形界面 事件监听
Swing 如何进行事件监听 示例 1 : 按钮监听 创建一个匿名类实现ActionListener接口,当按钮被点击时,actionPerformed方法就会被调用 package gui; imp ...
- Java中用得比较顺手的事件监听
第一次听说监听是三年前,做一个webGIS的项目,当时对Listener的印象就是个"监视器",监视着界面的一举一动,一有动静就触发对应的响应. 一.概述 通过对界面的某一或某些操 ...
- 4.JAVA之GUI编程事件监听机制
事件监听机制的特点: 1.事件源 2.事件 3.监听器 4.事件处理 事件源:就是awt包或者swing包中的那些图形用户界面组件.(如:按钮) 事件:每一个事件源都有自己特点有的对应事件和共性事件. ...
- Node.js 教程 05 - EventEmitter(事件监听/发射器 )
目录: 前言 Node.js事件驱动介绍 Node.js事件 注册并发射自定义Node.js事件 EventEmitter介绍 EventEmitter常用的API error事件 继承EventEm ...
- .NET事件监听机制的局限与扩展
.NET中把“事件”看作一个基本的编程概念,并提供了非常优美的语法支持,对比如下C#和Java代码可以看出两种语言设计思想之间的差异. // C#someButton.Click += OnSomeB ...
- 让 select 的 option 标签支持事件监听(如复制操作)
这标题,让option支持事件监听,应该不难的呀,有什么好讲的? 其实还是有的,默认在浏览器代码是无法直接对option标签进行操作的,不仅包括JS事件监听,还是CSS样式设置 查了一些资料,姑且认为 ...
- [JS]笔记12之事件机制--事件冒泡和捕获--事件监听--阻止事件传播
-->事件冒泡和捕获-->事件监听-->阻止事件传播 一.事件冒泡和捕获 1.概念:当给子元素和父元素定义了相同的事件,比如都定义了onclick事件,点击子元素时,父元素的oncl ...
随机推荐
- Python学习 —— 初步认知
写在前面 Python是一种流行的高级编程语言,具有简单易学.代码可读性高.应用广泛等优势.它是一种解释型语言,可以直接在终端或集成开发环境(IDE)中运行,而无需事先编译. Python的安装 Py ...
- $GNRMC
$GNRMC 格式: $GNRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,&l ...
- JDK、JRE、JVM三者介绍
概念 JDK: Java Development Kit,java开发者工具. JRE: Java Runtime Enviroment,java运行时环境. JVM: Java Virtual Ma ...
- ESP32-MicroPython without Thonny
why witout Thonny? 最近闲来在ESP32上用MicroPython捣鼓些小玩具,见很多教程推荐使用Thonny.欣然往之,竟是个这,实在不能认同.Thonny esp32-Micro ...
- js数据结构--数组
<!DOCTYPE html> <html> <head> <title></title> </head> <body&g ...
- 二进制部署k8s高可用
一.前置知识点 部署中遇到问题请参考:http://blog.ctnrs.com/post/k8s-binary-install/ 1.1 生产环境可部署Kubernetes集群的两种方式 目前生产部 ...
- 2023-11-08:用go语言,字符串哈希原理和实现 比如p = 233, 也就是课上说的选择的质数进制 “ 3 1 2 5 6 ...“ 0 1 2 3 4 hash[0] = 3 * p的0
2023-11-08:用go语言,字符串哈希原理和实现 比如p = 233, 也就是课上说的选择的质数进制 " 3 1 2 5 6 ..." 0 1 2 3 4 hash[0] = ...
- BI 数据可视化平台建设(2)—筛选器组件升级实践
作者:vivo 互联网大数据团队-Wang Lei 本文是vivo互联网大数据团队<BI数据可视化平台建设>系列文章第2篇 -筛选器组件. 本文主要介绍了BI数据可视化平台建设中比较核心的 ...
- BFS广搜小谈
个人认为BFS比DFS难度要大一些,所以来这里做个笔记. 比较可怜的是本蒟蒻并没有找到BFS这个东西解题有什么规律,所以我只能粘上3个代码. 模板 当然一个差不多点儿的模板还是要有的. //模板1 # ...
- Android 锁屏时的生命周期
锁定屏幕前,应用被打开:onCreate->onStart->onResume 此时按下电源键,锁定屏幕:onPause->onStop 解锁屏幕,重新回到应用:onRestart- ...