通过ngModel将绑定值从Input元素传递到Model

时间:2019-05-12 07:41:37

标签: angular

我是Angular的新手。将输入值传递给我的数据库模型时遇到的问题。根据帐户ID,数据库中的名字绑定到Input元素。但是相同的输入值(AccountName)无法传递给模型。我在哪里做错了。需要建议。

在html模板中-

 <input type="text" class="form-control" (keyup.enter)="checkAccount($event)" [(ngModel)]="modelName.AccountId">

 <input type="text" class="form-control" value={{AccountName}} readonly [(ngModel)]="modelName.AccountName">

在组件中:

  checkAccount(event:any){
        if(event.keyCode == 13){
          this.customerService.getCustomer({customer_id: Number(event.target.value)}).subscribe(
            data => {
              if (data){
                this.AccountName = data.firstname;
            }else{
              alert("No Account Found");
            }
            }
          );
        }else{
        }
     }

我正在获取{{modelName | json}}输出为{“ AccountId”:“ 6”}。 期望的帐户名应该在我的模型中可用。无法将AccountName传递给要插入数据库的模型。

2 个答案:

答案 0 :(得分:0)

使用[[ngModel)]时,需要在标签中添加属性名称:

 <input type="text" class="form-control" name="account-id" (keyup.enter)="checkAccount($event)" [(ngModel)]="modelName.AccountId">

我认为您不需要value = {{{AccountName}} ngModel足以显示数据,这是双向绑定概念。

答案 1 :(得分:0)

据我了解,您只想在从获得价值后将“ AccountName”显示为只读字段即可。

this.AccountName = data.firstname; 

尝试:

<input name="acntName" type="text" class="form-control" readonly [(ngModel)]="AccountName">