具有可绑定属性的Angular2自定义组件 - 如何在自定义组件中没有@Output的[(值)]?

时间:2016-07-10 16:42:02

标签: data-binding angular angular2-components

我有一个带有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)"吗?

0 个答案:

没有答案