在AngularDart 3.0.0中,不推荐使用EventEmitter.那么,如何将子组件中的事件发送给父组件?
在更新之前,它看起来像:
@Component( selector: 'my-test',templateUrl: 'test.component.html' ) class TestComponent { @Input() String name = ''; @Output() EventEmitter<String> onNameChange = new EventEmitter<String>(); } ... onNameChange.emit('New Name'); ...
现在我需要使用Stream和StreamController.有人能举个例子吗?
只需使用普通的StreamController即可
final _onNameChangeController = new StreamController<String>.broadcast(); @Output() Stream<String> get onNameChange => _onNameChangeController.stream;
.broadcast是可选的.需要允许多个订户.
另见https://www.dartlang.org/articles/libraries/broadcast-streams