收听组件 angular 2 中的模型
listening to a model in component angular 2
我正在使用 angular 2. 我有一个场景,我有一个组件、接口和指令。
此指令用于自动建议,我的界面用作模型。
因此,每当用户选择一个值时,我都会更新模型,并且我的组件是否可以通过某种方式侦听模型更改。
directive - model - component interaction
组件将如何监听我通过指令所做的模型更改?还可以使用模型来保存数据吗?
像这样使用输入、输出和绑定:
(不是真正的自动完成,但它应该让你开始)
@Component({
selector: 'auto-complete',
template: `
<select [(ngModel)]="value" (ngModelChange)="valueChange.emit($event)">
<option *ngFor="#val of values" [value]="val">{{val}}</option>
</select>`})
export class AutoCompleteComponent {
@Input() values:string[];
@Output() valueChange:EventEmitter<string> = new EventEmitter<string>();
value:string;
}
@Component({
selector: 'parent',
directives: [AutoCompleteComponent],
template: `
<auto-complete [value]="options" (valueChange)="onUpdate($event)"></auto-complete>
`})
export class AppComponent {
options = ['a', 'b', 'c', 'd', 'e'];
onUpdate(event) {
console.log(event);
}
}
我正在使用 angular 2. 我有一个场景,我有一个组件、接口和指令。
此指令用于自动建议,我的界面用作模型。
因此,每当用户选择一个值时,我都会更新模型,并且我的组件是否可以通过某种方式侦听模型更改。
directive - model - component interaction
组件将如何监听我通过指令所做的模型更改?还可以使用模型来保存数据吗?
像这样使用输入、输出和绑定:
(不是真正的自动完成,但它应该让你开始)
@Component({
selector: 'auto-complete',
template: `
<select [(ngModel)]="value" (ngModelChange)="valueChange.emit($event)">
<option *ngFor="#val of values" [value]="val">{{val}}</option>
</select>`})
export class AutoCompleteComponent {
@Input() values:string[];
@Output() valueChange:EventEmitter<string> = new EventEmitter<string>();
value:string;
}
@Component({
selector: 'parent',
directives: [AutoCompleteComponent],
template: `
<auto-complete [value]="options" (valueChange)="onUpdate($event)"></auto-complete>
`})
export class AppComponent {
options = ['a', 'b', 'c', 'd', 'e'];
onUpdate(event) {
console.log(event);
}
}