Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何以角度形式设置字段值_Javascript_Angular - Fatal编程技术网

Javascript 如何以角度形式设置字段值

Javascript 如何以角度形式设置字段值,javascript,angular,Javascript,Angular,我试图在ngOnInit()执行的.ts中填充“user_details”对象时设置视图字段值 这是我填充user\u details对象的.ts export class ProfileComponent implements OnInit { user_details = { name: '', first_surname: '', second_surname: '', age: '', birdth_date: '', locatio

我试图在ngOnInit()执行的.ts中填充“user_details”对象时设置视图字段值

这是我填充user\u details对象的.ts

export class ProfileComponent implements OnInit {

  user_details = {
    name: '',
    first_surname: '',
    second_surname: '',
    age: '',
    birdth_date: '',
    location: '',
    phone: '',
    image: ''
  };
  constructor(private authService: AuthService, private router: Router) { }

  ngOnInit(): void {
    this.authService.getProfile()
    .subscribe(
      res => {
        this.user_details = res;
        console.log(this.user_details)
      },
      err => console.log(err)
    );
  }
如您所见,对象正在获取正确的数据

这是我需要填写字段的表格

<div class="container p-4">
    <form (submit)="updateProfile()">
    <div class="row d-flex justify-content-center text-white">
        <div class="col-md-6">
                <div class="form-group">
                  <label for="name">Name</label>
                  <input type="text" [(ngModel)]="user_details.name" value={{user_details.name}} name="name" class="form-control" id="name" placeholder="Name">
                </div>
                <div class="form-group">
                  <label for="first_surname">First surname</label>
                  <input type="text" [(ngModel)]="user_details.first_surname" name="first_surname" value={{user_details.first_surname}} class="form-control" id="first_surname" placeholder="First surname">
                </div>
...

名称
姓
...
如何使用此对象数据设置视图字段的值? 我需要在视图中显示“用户详细信息”字段,并且我的视图为空


谢谢你的阅读

我认为您的问题可能在于使用ngModel和Value


请在另一个问题中对此进行说明。

简短回答

从输入标记中删除
属性

正确答案 使用角形。 在为表单设置from组后,最好的方法是使用右控制器的值,因为它提供了表单中可能需要的许多功能。我试图在中重新创建您的代码,请看一看,因为我能够解决它

<div class="form-group">
<label for="first_surname">Name</label>
<input
  type="text"
  [(ngModel)]="user_details.name.first"
  name="first_surname"
  value="user_details.name.first"
  class="form-control"
  id="name"
  placeholder="Name"
/>

名称

我解决这个问题的方法是使用第一反应From。就像前面提到的其他答案一样,我就是这样做的

您的用户将有两种方式在组件上获取数据,但在大多数情况下,它将从db调用,这意味着承诺或可观察

那样的话。psuedo代码看起来像这样

ngOnInit(){
this.form=new FormGroup({
firstName:newformcontrol(null,),
lastName:newformcontrol(null,),
移动:新FormControl(空),
});
this.YourService.getProfileInformation().subscribe((数据:UserProfile)=>{
//您可能需要检查您的数据是否正确,是否符合表单字段
this.form.setValue({
firstName:data.firstName,
lastName:data.lastName,
手机:data.mobile
})
})

}
只是想知道我是否理解您的问题,所以您想在用户键入时显示vaues吗?我说得对吗?不完全正确,当执行getProfile()函数时,它会返回一些用户值。我需要在表单的不同字段中显示这些值@到底是什么问题?我复制了您的示例,该示例似乎运行良好。因此,当您调用getProfile()时,会得到一个响应,所以您希望显示它?当我调用getProfile()时,会得到一个用户对象“user_details={'name':…}我需要在视图中定义的不同表单字段中设置此对象。@SijuSamson问题在于:this.user\u details=res['user\u details'],在一本简单的字典中,你的代码帮助我解决了这个问题!谢谢!@SijuSamson@adriano009如果这对你有帮助,请投上一票,这样其他用户也能看到,如果他们也遇到同样的问题。