在Angular中,我可以将组件的发出的输出直接绑定到属性吗?

时间:2019-04-05 04:05:18

标签: angular typescript eventemitter

我的主应用程序组件通过子组件上经过@Output装饰的属性与子组件交互。输出属性使用和EventEmitter<>()。通常,该属性会发出一个简单的布尔值或数字。我想将此输出直接绑定到主应用程序中的属性。但是我没有这样做。

我现在正在做的是:

//In my sub component:
@Output() subProperty = new EventEmitter<boolean>();

//In my main template:
<sub-component (subProperty)="setPropertyValue($event)"></subcomponent>

//In my main component (this I would like to avoid):
setPropertyValue(event) {
    this.mainProperty = event;
}

我想做的是避免在主组件中使用该函数,而是直接绑定到我的属性,但是下面的代码不起作用:

//In my sub component:
@Output() subProperty = new EventEmitter<boolean>();

//In my main template:
<sub-component (subProperty)="mainProperty"></subcomponent>

反正我可以在主要组件中避免附加功能吗?

1 个答案:

答案 0 :(得分:4)

我相信您能做的最好的是:

(subProperty)="mainProperty = $event"