Angular 6可观察并订阅

时间:2019-02-22 12:20:49

标签: angular

我有一些来自REST API的角度服务数据

info.services.ts

android:isIndicator="false"

我的homepage.ts

getCustomerDetails() {
   this.http.get(this.localUrl + this.customerUrl + this.options).pipe(map((response: Response) => response.json()))
}

和我的home.html

getData(){
  this.infoServices.getCustomerDetails().subscribe(data=>{
    if(data) {
      this.name = data[0].customerInfo.name;
    }
  })
}

我的问题是,有什么更好的方法来获取数据而不是处理数据[0]?

端点:

<input type="text" value="{{this.name}}" formControlName="name" />

2 个答案:

答案 0 :(得分:0)

您可以在地图功能中进行服务:

   this.http.get(url).pipe(map((response: Response) => response[0])

这样,当您预订观察站时,检索到的日期将直接可用

您还希望创建一个定义响应结构的界面,以便您可以轻松地操作对象

答案 1 :(得分:0)

我找到了解决方法,所以在ts文件中:

import re
s = "Hi, this is good :)#"
print( re.sub(r"(:-?[()D])|[^A-Za-z0-9,\s]", lambda x: x.group(1) if x.group(1) else "", s) )
# => Hi, this is good :)

,并且只需在您的html模板中

customerData:any = []
    getData(){
    this.customerData = [];
      this.infoServices.getCustomerDetails().subscribe(data=>{
        if(data) {
          this.customerData = data;
        }
      })
    }