当前位置: 首页 > 知识库问答 >
问题:

可观测到的NGF?

沈弘盛
2023-03-14

我正在将angular 2组件转换为使用异步数据源。

我有一个<代码>

这会导致错误:

找不到类型为“object”的不同支持对象“[object]”。NgFor只支持绑定到数组之类的可重用文件

我试过

我该如何处理这件事?


共有1个答案

公羊光明
2023-03-14

下面是一个绑定到可观察数组的示例。如果您也发布了控制器/组件代码,这将非常有用。

@Component({
   selector: 'my-app',
   template: `
   <div>
     <h2>Wikipedia Search</h2>
     <input type="text" [formControl]="term"/>
     <ul>
       <li *ngFor="let item of items | async">{{item}}</li>
     </ul>
   </div>
 `
 })
export class App {

   items: Observable<Array<string>>;
   term = new FormControl();

   constructor(private wikipediaService: WikipediaService) {
        this.items = this.term.valueChanges
             .debounceTime(400)
             .distinctUntilChanged()
             .switchMap(term => this.wikipediaService.search(term));
    }
 }

http://blog.thoughtram.io/angular/2016/01/07/taking-advantage-of-observables-in-angular2-pt2.html

通过ngFor和Async Pipe Angular 2使用来自可观测对象的数组

以上问题的答案如下:

// in the service
getItems(){
    return Observable.interval(2200).map(i=> [{name: 'obj 1'},{name: 'obj 2'}])
}

// in the controller
Items: Observable<Array<any>>
ngOnInit() {
    this.items = this._itemService.getItems();
}

 // in template
 <div *ngFor='let item of items | async'>
      {{item.name}}
 </div>
 类似资料:
  • 我有一个带有http请求的服务,它返回我的标题的可观察到的内容 servise.ts 在我的组件中,我有一个函数从service get Request设置。看起来是这样的: 问题是,有时我接收到带有空标签的标题,不需要显示它们,所以我需要对其进行过滤,并对此标题发送.delete()请求。我尝试了类似的方法(想法是在之前添加,然后在另一个subscribe内部调用。)差不多吧 但不确定这是不是个

  • 我正在创建一个应用程序,希望用户打开他们的活动聊天。它由Firebase作为后端提供动力。但是,在从第一个可观察订阅中检索数据(我需要将其用作第二个可观察订阅中的参数)之后,第二个订阅不会返回任何数据:它是空的。 在第一个订阅中,我检索一个唯一的ChatID。对于第二次订阅,我希望使用此ChatID接收Firebase集合中的所有邮件。 我已经发现它与观测对象的异步风格有关,但是我不知道如何嵌套观

  • 我希望能够等待一个可观察的时间,例如。 天真的尝试会导致等待立即解析,而不会阻止执行 编辑:我的全部预期用例的伪代码是: 我知道我可以将其他代码移动到另一个单独的函数中,并将其传递到subscribe回调中,但我希望能够避免这种情况。

  • 我有一个可观察的对象,它从数据库游标的快速流中生成数据。我希望以每秒x项的速度限制输出。到目前为止,我一直在使用文档中所述的调用堆栈阻塞: 这很好,但出于好奇,是否有更好的方法使用背压来处理此问题? Tks公司

  • 下面的代码仅在观察2完成后才从观察1发出项。 我需要实现另一种行为 第二个可观测对象仅发射项目,而第一个可观测对象为空,然后发射第一个可观测对象的项目。 我无法找到只使用基本运算符的正确解决方案,自定义运算符startWithDefault的正确RxJava 2实现应该是什么样子? 附笔。 由于种族原因,在可观察到立即发射的情况下,这不是正确的解决方案1

  • 我向服务器发出请求,并得到可观察到的响应。在数据内部,我有一个ID,它引用另一个文档,我需要发送另一个请求来获取数据,并将其附加到父对象的数据中。如何做到这一点? 有了Promise,我可以使用async/await来实现这一点,但我想知道如何使用Observable来实现这一点 promise样品 如何实现上述与观察? 编辑1 基于@Teddesterne回复,我写的代码如下,但我在订阅中得到的