无法捕获Angular 4中子组件发出的事件

时间:2017-08-08 13:03:01

标签: javascript angular typescript angular2-components

我很抱歉我的新手问题,我正在尝试使用@Output EventEmitter从孩子向父组件发出事件。我无法在我的父组件中捕获该事件。

子组件

@Component({
  selector: 'app-new-attachment',
  templateUrl: './new-attachment.component.html',
  styleUrls: ['./new-attachment.component.css']
})
class NewAttachmentComponent {
  @Input('attachment') attachment: any;
  @Output() doneEditingAttachment:EventEmitter<boolean> = new EventEmitter<boolean>();

  submit() {
    console.log('done editing child');
    this.doneEditingAttachment.emit(true);
  }
}

父组件

@Component({
  selector: 'app-new-article',
  templateUrl: './new-article.component.html',
  styleUrls: ['./new-article.component.css']
})
class NewArticleComponent {
   newAttachment: any = {};
   doneEditingAttachment($event) {
     console.log('done editing parent ', $event);
   }
}

我希望有

  

完成编辑孩子

并且

  

完成编辑父级

但我只是完成了编辑孩子

2 个答案:

答案 0 :(得分:4)

您需要使用(0100b And 1111b) = 0100b (True as well!) 表示法实际绑定孩子的事件:

(eventName)

答案 1 :(得分:2)

基于通讯网你需要这个,

<app-new-attachment [attachment]="newAttachment" (doneEditingAttachment)="submit()"></app-new-attachment>