我可以从Angular 2中的子组件EventEmitter开始和停止侦听emit方法吗?

时间:2017-09-14 10:18:54

标签: angular

就像标题一样,我需要在某些条件后停止听孩子的组件输出EventEmitter,但我需要再次开始听它。 那么,我该怎么做呢? 我已经阅读了使用来自EventEmitter的subscribe()和unsubscribe()的不良做法,因为EventEmitter未来不会支持它。

1 个答案:

答案 0 :(得分:0)

您可以将该条件添加为新子项的属性:

父HTML

<child [conditionForChild]="myCondition" ......></child> 

父类手稿

conditionForChild: boolean; // set it as needed afterwards

儿童打字稿:

 @Input() conditionForChild; 
  ....
  action($event) { //this is your existing method which will emit the event to the parent
     if(conditionForChild){
       this.action.emit();
     }
  }

或者:

<child (action)="condition? delete() : null" ......> </child>