获取子组件中 ngModel 的值

Get the value of ngModel in a child component

本文关键字:ngModel 的值 组件 获取      更新时间:2023-09-26

如果我在角度 2 中有一个父子组件关系,如下所示:

@Component({
    selector: `child`,
    template: `
        <div>
        </div>`
})
export class ChildComponent { 
    //... 
}
@Component({
    selector: `parent`,
    template: `
        <div>
            <child [(ngModel)]="data.value"></child>
        </div>`
    directives: [ChildComponent]
})
export class ParentComponent { 
     private data = {
          value: string,
          property: number
     };
}

如何访问子组件中的 ngModel?如果我修改了子组件中的 ngModel 值,它会更新父组件吗?

在 RC2 之前,您需要为子组件实现一个自定义验证器,以便能够在其上使用ngModel

有关更多详细信息,请参阅此问题:

  • 角度 2 自定义表单输入

从RC2开始,事情要简单得多,因为您可以执行以下操作:

<form #f="ngForm">
  <custom-input name="Nan" [ngModelOptions]="{name: 'custom'}" ngModel>
</form>