Следующее сработало для меня.Вы можете использовать StreamController.broadcast ().
Затем вы можете добавить свой объект в метод add ().
@Component(
selector: 'new-post',
directives: [coreDirectives,
formDirectives,
FileUploader,
materialInputDirectives,
MaterialButtonComponent],
templateUrl: 'post_new_component.html',
styleUrls: ['post_new_component.css'],
providers: [ClassProvider(PostService)]
)
class PostNewComponent {
final PostService _postService;
final _onDone = new StreamController.broadcast();
String postText;
Post post;
@Input()
Place place;
@Output()
Stream get doneIt => _onDone.stream;
PostNewComponent(this._postService);
Future<void> save() async {
await _postService.create(postText,place.id).then(((_) => _onDone.add(1)));
}
}
В html вы можете указать событие doneIt, которое вызывает функцию.
<new-post (doneIt)="loadPosts()" [place]="place"></new-post>
В родительском файле компонента dart вы можете добавить такую функцию:
Future<void> loadPosts() async {
print("broadcast received");
}
Я думаю, что вы можете использовать loadPosts ($ event) для передачи события, но это то, что вы все равноВозьмите чек самостоятельно.
Надеюсь, это поможет.Если бы подобный вопрос был размещен здесь:
Как уведомить родительский компонент об изменении и обновлении представления