angular - EventEmitter 已弃用,不应使用

标签 angular dart angular-dart

在 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

关于angular - EventEmitter 已弃用,不应使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43680906/

相关文章:

css - 使用 css 样式 ng-bootstrap Accordion

javascript - 具有嵌套条件的 JSON 数据的 Angular 动态表单 View

dart - Dart 中的日期倒计时

dart - 打破异常:不支持的操作:如果基类不是HTMLElement,则类必须提供extendTag

dart - 在 Dart 代码中获取 ng-model 验证状态

Angular FormArray 显示验证错误

listview - Flutter 仅按需填充 ExpansionTile 数据(一个 Future 对象),而不是在初始化时

dart - 有没有人设法让 Chartjs 在 AngularDart 中工作?

dart - JsObject 的匿名回调函数在用户操作之前不会更新 Dart Controller

angular - 如何禁用表单控件但保持值(value)