在 Angular 中,我可以将组件的发射输出直接绑定到 属性 吗?
In Angular, can I bind the emited output of a component directly to a property?
我的主要应用程序组件通过子组件上的 @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>
有什么方法可以避免我的主要组件中的附加功能?
我相信你能做的最好的是:
(subProperty)="mainProperty = $event"
将后缀 Change
添加到 属性 的末尾,这样您就可以在方框语法中使用 banana/football。匹配的输入不是必需的,将被忽略。
//In your sub component:
@Output() subPropertyChange = new EventEmitter<boolean>();
//In your main template:
<sub-component [(subProperty)]="mainProperty"></subcomponent>
我的主要应用程序组件通过子组件上的 @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>
有什么方法可以避免我的主要组件中的附加功能?
我相信你能做的最好的是:
(subProperty)="mainProperty = $event"
将后缀 Change
添加到 属性 的末尾,这样您就可以在方框语法中使用 banana/football。匹配的输入不是必需的,将被忽略。
//In your sub component:
@Output() subPropertyChange = new EventEmitter<boolean>();
//In your main template:
<sub-component [(subProperty)]="mainProperty"></subcomponent>