如何从数据库获取数据到文本框打字稿

时间:2019-02-12 09:48:03

标签: html angular typescript

如何从数据库获取数据到文本框打字稿?我的Get函数正在运行,它显示在控制台上,而不显示在文本框中。

export class ProfileComponent implements OnInit {
  Profile: Profile = new Profile; 

  constructor(
    private ProfileService: ProfileService,
    private Security: Security){
  }

  ngOnInit() {
    this.GetProfileByID(this.Security.UserID);
  }

 GetProfileByID(UserID: any) {

  this.ProfileService.GetProfileByID(UserID).then(
    (response) => {
      console.table(response.Body)
    }
  )
  }
}

这是我的html

`

<form #updateForm="ngForm">
    <div class="input-container mb-3">
        <div class="col-12">
            <label>* Name</label>
            <input name="name" #name="ngModel" id="TACName" type="text" [(ngModel)]="Profile.Name" pInputText required/>
            <div class="errortxt" [hidden]="name.valid || name.pristine" class="alert alert-danger">
                <div class="errortxt" [hidden]="!name.hasError('required')"> Name is Required!</div>
            </div>
        </div>
    </div>
    <button class="ui-button-raised submit-btn" [disabled]="!updateForm.valid || !Agreement" pButton label="SAVE" type="submit" (click)="Save(updateForm)"></button>
</form>

`

这是控制台上的结果 enter image description here

2 个答案:

答案 0 :(得分:1)

根据控制台中的输出结果...

GetProfileByID(UserID: any) {

  this.ProfileService.GetProfileByID(UserID).then(
    (response) => {
      this.Profile.Name = response.Body.Name;
    }
  )
  }

答案 1 :(得分:1)

  1. 有一个错字,应该使用new Profile()而不是new Profile

  2. 确实建议不要使用[(ngModel)]。请改用FormGroup,然后在收到服务答复后,使用FormGroup.get(controlName: string).patchValue。这样可以确保解决您的问题。