如何使用 RxJS 在 Angular2 中观察 DOM 事件?
How to observe DOM events in Angular2 using RxJS?
我使用 Angular2 Alpha 46。我有一个列表视图组件,如下所示。我想观察来自 PREV 和 NEXT 按钮的点击事件,并通过承诺调用 Web API 来检索数据并更新列表。
不知道是应该直接使用Angular2还是RxJS自带的EventEmitter。
谁能举个例子?
我没有完整的示例,但我可以为您勾勒出一个解决方案:
在你的模板中绑定点击事件
<button (click)="next()">Next</button>
<button (click)="prev()">Prev</button>
在你的 class 中(我猜你使用的是 Typescript)定义 next() 和 prev()
import {Http, Headers, HTTP_BINDINGS} from 'angular2/http';
next() {
this.http.get("your url")
.map(res => res.json()) /* if its JSON */
.subscribe(
data => this.listdata = data,
err => console.error(err),
() => console.log("Done")
)
}
prev() {
/* like next */
}
您必须导入 Http 和 HTTP_BINDINGS。
http.get returns 一个可观察的(又名流)而不是 angular 1
中的承诺
Ayden Towfeek 的视频教程展示了如何在 youtube 上使用 http 和 observables tutorial
我使用 Angular2 Alpha 46。我有一个列表视图组件,如下所示。我想观察来自 PREV 和 NEXT 按钮的点击事件,并通过承诺调用 Web API 来检索数据并更新列表。
不知道是应该直接使用Angular2还是RxJS自带的EventEmitter。
谁能举个例子?
我没有完整的示例,但我可以为您勾勒出一个解决方案:
在你的模板中绑定点击事件
<button (click)="next()">Next</button>
<button (click)="prev()">Prev</button>
在你的 class 中(我猜你使用的是 Typescript)定义 next() 和 prev()
import {Http, Headers, HTTP_BINDINGS} from 'angular2/http';
next() {
this.http.get("your url")
.map(res => res.json()) /* if its JSON */
.subscribe(
data => this.listdata = data,
err => console.error(err),
() => console.log("Done")
)
}
prev() {
/* like next */
}
您必须导入 Http 和 HTTP_BINDINGS。
http.get returns 一个可观察的(又名流)而不是 angular 1
中的承诺Ayden Towfeek 的视频教程展示了如何在 youtube 上使用 http 和 observables tutorial