【问题标题】:Angular2 response convert into object below an exampleAngular2 响应在示例下方转换为对象
【发布时间】:2018-06-21 11:19:52
【问题描述】:

我是 Angular2 的新手。在尝试访问服务(Angular2)时,我无法转换为学生对象。 下面是我使用它的代码。

return this.http.post(this.url,student,{headers: new HttpHeaders().set('Content-type','application/json')}).subscribe(data => HERE)

         var student_info =  {
              studentid:  id,
              name:  name,
              address: address,
              stream: stream
            }

我想将返回对象转换为 Student 对象,我的类如下

{
      export class Student     
         studentid: number;    
         name: String;   
         address: String;  
}        stream: String;   

无法转换上述数据(对象为Student)。 我想访问Student 属性,例如Student.name 等。

【问题讨论】:

  • 我已经通过使用包含检索数据的数组解决了这个问题。例如 myVar = [];我将它用作 .subscribe((data: any)=> this.mydata = data ) 并定义 iteratble 到 iterate.Anguar 通过将对象作为我们从 API 获取的对象确实做得很好。感谢阿米特的帮助。

标签: angular2-services


【解决方案1】:

您可以像这样使用map Observable 运算符:

return this.http.post(this.url,student,{headers: new HttpHeaders().set('Content-type','application/json')})
    .map(data => 
        return student_info =  {
            studentid:  data.id,
            name:  data.name,
            address: data.address,
            stream: data.stream
        });

和Array.map一模一样,对Observable的每个元素应用一个函数。

【讨论】:

  • 但它说属性 id,name 在此部分的类型对象上不存在 return student_info = { studentid: data.id, name: data.name, address: data.address, stream: data .stream });
  • 这取决于您的响应中存储的数据。你不是在data 对象中返回idnameaddressstream 吗?如果没有,那么您应该如何使用响应中的数据创建 Student 实例?
猜你喜欢
  • 2016-07-01
  • 2017-10-17
  • 2016-04-13
  • 2019-03-15
  • 1970-01-01
  • 1970-01-01
  • 2018-07-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多