Angular2使用EventEmitter

时间:2016-09-28 11:58:04

标签: angular typescript

我有两个组件:AppCompSimulationComp

AppComp包含一个函数:

generateEmptyPromise() {
   return Promise.resolved('')
}

并具有以下html:

<simulation-comp (simu)='generateEmptyPromise()'></simulation-comp>

模拟补偿处理(simu),如下所示:

@Output() simu = new EventEmitter()
private eventHandled: boolean = false

// Triggered when a button of the component is pressed
whenClicked() {
  this.simu.subscribe(() => {
     this.eventHandled= true
  })
  this.simu.emit()
}

根据eventHandled给出的承诺,我希望generateEmptyPromise成为真的(所以之后已经处理了发射)。但是,它没有工作,我怎么能调整我的代码才能有这种行为?也许它不应该像这样工作,我在这里完全错了。

1 个答案:

答案 0 :(得分:0)

@Output用于发送&#39;外部&#39;该组件返回到父组件。孩子 - &gt;家长。

对于家长 - &gt;父模板由想要与您通信的子项组成的子通信需要@Input,因此孩子知道父母将在某个时间点发送这些值。

首先,您可能需要appCmp

<simulation-comp [myinput]='generateEmptyPromise()'></simulation-comp>

SimulationCmp.ts

@Input myinput : any //Whatever value type you expect it to be