在Angular 7中,可以使用@Input装饰器来实现属性的双向绑定。下面是一个示例:
在父组件中,定义一个属性并使用@Input装饰器:
import { Component } from '@angular/core';
@Component({
selector: 'app-parent',
template: `
Parent Component
Value in Parent Component: {{ parentValue }}
`
})
export class ParentComponent {
parentValue: string = '';
}
在子组件中,定义一个输入属性和输出属性,并使用@Input和@Output装饰器:
import { Component, Input, Output, EventEmitter } from '@angular/core';
@Component({
selector: 'app-child',
template: `
Child Component
Value in Child Component: {{ childValue }}
`
})
export class ChildComponent {
@Input() childValue: string = '';
@Output() childValueChange: EventEmitter = new EventEmitter();
}
在父组件的模板中,使用方括号绑定父组件的属性到子组件的输入属性,并使用圆括号绑定子组件的输出属性到父组件的属性。这样就实现了双向绑定。
注意:为了使用双向绑定,子组件的输出属性的名称必须是输入属性的名称后面加上“Change”。在这个示例中,输入属性是“childValue”,输出属性是“childValueChange”。
这样,当在子组件中输入框中输入值时,父组件的属性也会更新,并且当在父组件中更新属性时,子组件的输入框中的值也会更新。