Angular 9 - 找不到一个不同的支持对象'getData()

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Angular 9 - 找不到一个不同的支持对象'getData()相关的知识,希望对你有一定的参考价值。

我在尝试将我的控件与它的数据绑定时得到这个错误。下面是一些相关的代码.Template.

<tree-control [nodes]="getData"></tree-control>

组件。

 public getData(): Observable<Array<any>> {
        const assets: any = this.service.get('url', headers);
        return assets;
    }

到目前为止,我找到的任何东西都没有帮助。知道我的代码有什么问题吗?

我的代码有什么问题吗?

答案

首先,你给一个函数(getData)至 nodes 财产。I 假设 您想将数据从 getData 以此来代替。

第二,呼吁 this.service.get可能 不被执行。原因是你不 subscribe 到,我认为是一个http调用,返回一个 Observable.

要解决这个问题,你可以做以下工作。

export class Foo {
  nodeData: Observable<any>;

  constructor(
    private readonly service: YourService,
  ) {
    this.nodeData = this._getData();
  }

  private _getData() {
    return this.service.get(...);
  }
}

在你的模板里,你可以 subscribeunsubscribe 通过使用 async 管道。

<tree-control [nodes]="nodeData | async"></tree-control>

为了让这一切顺利进行,我 假设 你的 service.get 方法返回一个Observable。

以上是关于Angular 9 - 找不到一个不同的支持对象'getData()的主要内容,如果未能解决你的问题,请参考以下文章

Angular'找不到'object'类型的不同支持对象'[object Object]'。 NgFor 仅支持绑定到 Iterables,例如 Arrays。

错误:找不到类型为“object - Angular 7”的不同支持对象“[object Object]”[重复]

Angular 4 找不到“object”类型的不同支持对象“[object Object]”。 NgFor 仅支持绑定到 Iterables,例如 Arrays

rxjs 将 5 升级到 6。找不到“对象”类型的不同支持对象“”

Bower:找不到适合 Angular 的版本

我不断收到此错误:找不到“对象”类型的不同支持对象“[对象对象]”。 NgFor 只支持