我有一个带有input属性的自定义组件,如下所示:
export class MyComponent{
@Input() value:number;
}
这样我就可以在父组件上填充一个:
<my-component [(value)]="someValueAtParentComponent"></my-component>
请注意,我没有提供@Component装饰器和父组件的类,因为我不认为这些是相关的。
现在,MyComponent内部发生的事情可以改变value
的值。
在MyComponent的模板中,我显示{{value}}
,并在整个生命周期内显示正确的值。
从父组件的模板中,我显示{{someValueAtParentComponent}}
,但它不会使用MyComponent的值更新。我以为[(值)]会自动完成这项工作,但我猜不是。
我不想在MyComponent上创建@Output
事件,以便父组件处理明确设置someValueAtParentComponent
的事件。
我相信Angular希望为父组件发出一个事件来处理,但这似乎非常繁琐。我们可以在自己的组件中做些什么,以便我们可以使用语法糖[(value)]
代替[value]="..." (onValueChanged)="onValueChangedHandler($event)"
吗?