如何在 class 中触发一种 onChange 事件
How can i trigger a kind of onChange event in a class
我尝试在 dart 中构建应用程序。我在另外两个中注入服务 class 以共享一些数据。现在的问题是,我不知道如何通过另一个 class 属性更改(异步)触发一个 class 中的事件(onChange)。
您可以创建流 getter 供其他人收听或使用 observable。
流:
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 中构建应用程序。我在另外两个中注入服务 class 以共享一些数据。现在的问题是,我不知道如何通过另一个 class 属性更改(异步)触发一个 class 中的事件(onChange)。
您可以创建流 getter 供其他人收听或使用 observable。
流:
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