Flutter 知识集锦 | 监听与通知 ChangeNotifier
import 'package:flutter/foundation.dart';
// 定义一个可以被观察的数据模型
class Counter with ChangeNotifier {
int _count = 0;
// 获取计数值
int get count => _count;
// 增加计数值
void increment() {
_count++;
// 数据发生变化,通知监听器
notifyListeners();
}
}
// 在其他地方使用 Counter 类
void main() {
final counter = Counter();
// 监听 counter 的变化
counter.addListener(() {
print('Counter value is ${counter.count}');
});
// 改变 counter 的状态
counter.increment(); // 输出: Counter value is 1
counter.increment(); // 输出: Counter value is 2
}
这段代码定义了一个简单的计数器模型,并且使用了ChangeNotifier
来实现状态变化时的通知机制。它展示了如何定义一个可以被观察的类,如何监听这个类的变化,以及如何在数据模型发生变化时通知依赖于这个模型的UI更新。这是学习Flutter状态管理中一个基本且重要的概念。
评论已关闭