【问题标题】:Angular GET json array角度 GET json 数组
【发布时间】:2020-06-03 16:32:52
【问题描述】:

我想知道如何将我的 GET 请求中的 json 数组保存在一个变量上。我正在开发搜索服务,已经可以搜索用户,但也想搜索 Moods(类似于 Tweets)。

这会向弹性数据库发送一个 GET 请求并请求 MoodTexts(带有文本和表情符号的帖子)。如果我搜索“绿色”,我的请求会在数据库中找到 4 个结果,并且我在 html 中的搜索栏显示 4 个空白结果,但我想在这些空白字段中发布找到的文本。顺便说一句,Mood 是一个带有“text”变量的类。

组件(我认为这是错误的):

mood: Mood[];

getMood() {
    const moodText = this.angForm2.value.searchText;
    console.log(this.angForm2.value, moodText);
    this.searchservice.getElasticPostsResult(moodText).subscribe((data2: any) => {
      this.mood = data2.hits.hits;
    });
  }

HTML:

  <div id="textSearch" *ngFor="let moodText of mood">
    <br><a id="a2">{{moodText?.text}}</a>
  </div>

控制台/请求输出:

【问题讨论】:

  • 你得到的错误是什么?在 JSON 输出中没有文本数据...您要访问哪些数据?
  • 在 json 中是在 f.e. hits.hits[0]._source 是一个变量“文本”,我想在我的搜索栏结果上输出它。我得到的错误是“找不到一个不同的支持对象 '[object Object]' 类型为 'object'。NgFor 仅支持绑定到 Iterables,例如数组。”

标签: html arrays json angular get


【解决方案1】:

试试这个。

<div id="textSearch" *ngFor="let moodText of mood">
    <br><a id="a2">{{moodText['_source']?.text}}</a>
  </div>

【讨论】:

    【解决方案2】:

    为了访问心情,您可以使用以下方式。

    <div id="textSearch" *ngFor="let moodText of mood">
        <br><a id="a2">{{moodText?._source.text}}</a>
      </div>
    
    

    文本进入 _source 对象。

    【讨论】:

      猜你喜欢
      • 2019-06-13
      • 2020-10-25
      • 1970-01-01
      • 2020-06-06
      • 1970-01-01
      • 1970-01-01
      • 2020-08-10
      • 2019-08-26
      • 1970-01-01
      相关资源
      最近更新 更多