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

Chr*_*cht 1 dart

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

Gün*_*uer 6

您可以创建一个流 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));
...
Run Code Online (Sandbox Code Playgroud)

Observable: 请参阅
-从聚合物飞镖观察包
-如何使用 Dart ChangeNotifier 类?
- http://www.dartdocs.org/documentation/observe/0.12.2/index.html