1

我有一个带有输入属性的自定义组件,如下所示:

export class MyComponent{
     @Input() value:number;
}

这样我就可以在父组件上放一个:

<my-component [(value)]="someValueAtParentComponent"></my-component>

请注意,我没有提供 @Component 装饰器和父组件的类,因为我认为它们不相关。

现在,在 MyComponent 内部发生的事情可以改变value.

在 MyComponent 的模板中,我显示{{value}},它在其整个生命周期中显示正确的值。

从父组件的模板中,我显示{{someValueAtParentComponent}},但它没有更新 MyComponent 的值。我认为 [(value)] 会自动完成这项工作,但我想不会。

我不想@Output在 MyComponent 上为父组件创建一个事件来处理它将someValueAtParentComponent显式设置的事件。

我相信 Angular 想要为父组件发出一个事件来处理,但这似乎很乏味。我们可以在自己的组件中做些什么,以便我们可以使用语法糖[(value)]而不是[value]="..." (onValueChanged)="onValueChangedHandler($event)"?

4

0 回答 0