【问题标题】:access array inside array in angular 4以角度 4 访问数组内的数组
【发布时间】:2017-11-18 05:56:22
【问题描述】:

我正在使用 Angular 创建一个 Web 项目,该项目使用 google 的自定义搜索引擎来填充返回的前十个结果的网页。我从 API 返回的数据是 JSON 格式,我可以使用界面进行评估和显示。我可以访问数组“items”,我的问题是我不知道如何访问 items 数组中的数组。欢迎任何帮助。附言。我是 Angular 新手。

  interface ISite{
    kind: string;
    title: string;
    htmlTitle: string;
    link: string;
    displayLink: string;
    srcImage: string;
    snippet: string;
}

  //Second interface to deal the api
  interface ISearchResponse {
  kind: string;
  context: string;
  items: ISite[];
  cse_images: string;
  company: string;
  snippet: string;
}

//and my service
  constructor(private _http: HttpClient) { }

   getSites(): Observable<ISearchResponse> {
    return this._http.get<ISearchResponse>(this._siteURL)
      .do(data => console.log('All: ' + JSON.stringify(data)))
      .catch(this.handleError);

  }
  private handleError(err: HttpErrorResponse) {
    console.log('SearchEngineService: ' + err.message);
    return Observable.throw(err.message);
  }
}

    //My html
    <h2>Search Results</h2>
<div class="list-group" *ngFor='let site of sites.items'>
  <a href="{{site.link}}" class="list-group-item list-group-item-action flex-column align-items-start active" >
    <div class="d-flex w-100 justify-content-between">
      <h4 class="mb-1">Title:  {{site.title}}</h4>
    </div>
    <h5>URL: {{site.link}}</h5>
    <p class="mb-1">Description: {{site.snippet}}</p>
  </a>
</div>

数据形式google api的示例,我想访问图像 cse_image

 "items": [
        {
            "kind": "customsearch#result",
        "title": "Sports News,Scores,Schedules,Standings,Stats,Photos",
            "pagemap": {
                "cse_image": [
                    {
                        "src": image.jpg"
                    }
                ]
            }
        },

【问题讨论】:

标签: html angular typescript


【解决方案1】:

试试这个:

<h2>Search Results</h2>
    <div class="list-group" *ngFor='let site of sites.items'>
      <a href="{{site.link}}" class="list-group-item list-group-item-action flex-column align-items-start active" >
        <div class="d-flex w-100 justify-content-between">
          <h4 class="mb-1">Title:  {{site.title}}</h4>
        </div>
        <h5>URL: {{site.link}}</h5>
        <p class="mb-1">Description: {{site.snippet}}</p>
    <img src={{site.pagemap.cse_image[0].src}}>
      </a>
    </div>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-04-20
    • 1970-01-01
    • 2018-07-09
    • 2020-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多