我正在将angular 2组件转换为使用异步数据源。
我有一个<代码>
这会导致错误:
找不到类型为“object”的不同支持对象“[object]”。NgFor只支持绑定到数组之类的可重用文件。
我试过
我该如何处理这件事?
下面是一个绑定到可观察数组的示例。如果您也发布了控制器/组件代码,这将非常有用。
@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回复,我写的代码如下,但我在订阅中得到的