Angular 6.1.1 - 事件发射器不向父组件发出



我的Angular应用程序中有一个父/子组件,当单击表中的行时,子组件会向父组件发出事件。

子组件配置有输出事件发射器,如下所示:

@Output('rowSelect') rowSelect = new EventEmitter<any>();
onSelect($event, rowIndex) {
if ($event.source.checked) {
this.index =
rowIndex;
this.rowSelect.emit({'tenant': this.tenant, 'row': $event.source.value, 'index': this.origRowIndex.indexOf($event.source.value)});
return;
}
else {
this.rowSelect.emit({'row': {'sdwanprofile': 'UNCHECKED'}});
}
}

父组件正在模板中绑定事件发射器,如下所示:

<fuse-predefined>
(rowSelect) = "onButtonDisplay($event)">
</fuse-predefined>

这一直很好,直到我升级到Angular 6.1.1

当我在父组件上console.log验证EventEmitter负载时,它不会显示任何发出的数据。如果我在子组件中console.log,我可以看到有效负载。

所以看起来Output((并没有被发送到父组件。

以下是Angular软件包的当前版本:

Angular CLI: 6.1.2
Node: 10.7.0
OS: darwin x64
Angular: 6.1.1
... animations, common, compiler, compiler-cli, core, forms
... http, language-service, platform-browser
... platform-browser-dynamic, router
Package                            Version
------------------------------------------------------------
@angular-devkit/architect          0.7.2
@angular-devkit/build-angular      0.7.2
@angular-devkit/build-optimizer    0.7.2
@angular-devkit/build-webpack      0.7.2
@angular-devkit/core               0.7.2
@angular-devkit/schematics         0.7.2
@angular/cdk                       6.4.2
@angular/cli                       6.1.2
@angular/flex-layout               6.0.0-beta.17
@angular/material                  6.4.2
@angular/material-moment-adapter   6.4.2
@ngtools/webpack                   6.1.2
@schematics/angular                0.7.2
@schematics/update                 0.7.2
rxjs                               6.2.2
typescript                         2.9.2
webpack                            4.9.2

我已经查看了发布说明,没有发现任何已知的问题。Angular 6.1.x上有什么东西会破坏它吗?

提前谢谢。

这是一个简单的语法错误:

输出事件应在打开标签内,如下所示:

<fuse-predefined (rowSelect)="onButtonDisplay($event)">
</fuse-predefined>

不确定它是如何更改的,可能是IDE格式化HTML代码造成的。

最新更新