gpt4 book ai didi

dart - 我如何在类中触发一种 onChange 事件

转载 作者:行者123 更新时间:2023-12-03 03:18:44 25 4
gpt4 key购买 nike

我尝试在 dart 中构建一个应用程序。我在另外两个中注入(inject)一个服务类来共享一些数据。现在的问题是,我不知道如何通过另一个类属性更改(异步)触发一个类中的事件(onChange)。

最佳答案

您可以创建一个其他人可以收听或使用可观察的流 getter 。

流:

import 'dart:async';

// custom event class
class MyEvent {
String eventData;

MyEvent(this.eventData);
}

// class that fires when something changes
class SomeClass {
var changeController = new StreamController<MyEvent>();
Stream<MyEvent> get onChange => changeController.stream;

void doSomething() {
// do the change
changeController.add(new MyEvent('something changed'));
}
}

// listen to changes
...
var c = new SomeClass();
c.onChange.listen((e) => print(e.eventData));
...

可观察:
- Observe package from polymer dart
- How to use Dart ChangeNotifier class?
- http://www.dartdocs.org/documentation/observe/0.12.2/index.html

关于dart - 我如何在类中触发一种 onChange 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28098733/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com