为什么我们不能在angular 6的同一输入标签中使用[[ngModel)]和value

时间:2018-10-08 09:47:54

标签: html angular angular6 model-binding

我的html标签是:

<input matInput placeholder="Vehicle Number" name="vehicleNo" [(ngModel)]="vehicleNo" value="vehicle.vehicleNo" >

我需要自动填写输入字段,如果我输入新内容,则需要在component.ts文件中进行访问。

2 个答案:

答案 0 :(得分:1)

如果使用ngModel绑定数据,则不需要使用value属性,它会自动绑定数据。

//在ts文件中

 date_default_timezone_set("Asia/Calcutta");

//在html文件中

export className extends OnInit{
    vehicle: any;

    ngOnInit(){

       this.serviceName.functionName().subscribe(
           data=>{
               this.vehicle=data;
           }error=>{
               //whatever logic you want to place
          }
      );
   }
}

//如果您以这种方式定义<input matInput placeholder="Vehicle Number" name="vehicleNo" [(ngModel)]="vehicle.vehicleNo">

然后html文件应为

vehicleObj = { vehicleNo:this.vehicleNo }

答案 1 :(得分:0)

此表达式不会被评估为javascript表达式value="vehicle.vehicle No",这与您如何进行属性绑定[value]="vehicle.vehicle No"

只需将vehicleNo设置为vehicle.vehicleNo,输入就将更新,您不需要自己为此ngModel所做的工作。