gpt4 book ai didi

javascript - RxJS Observable.fromEvent 数据

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:00:50 25 4
gpt4 key购买 nike

如何将事件数据附加到 Observable.fromEvent

在我的示例中,我有以下对象数组

var people = [
{ name: "Bert", img: "" },
{ name: "Enrie", img: "" },
{ name: "Elmo", img: "" }
];

我想创建一个带有 data.src 的 clickStream,类似于:

clickStream = Rx.Observable.fromEvent(li, 'click', { src :  people[p].img });

然后订阅它:

clickStream.subscribe(function(event) {
$('#img')[0].src = event.data.src;
});

API documentation for fromEvent method

编辑

我创建了一个 JsFiddle of my example , 请注意在控制台日志中该事件有一个未定义的 data 对象 - 我该如何分配它?

注意:我使用的不是事件发射器,而是原生 DOM 事件

最佳答案

我不确定我是否正确理解了您的用例,但是如果您想向监听器传递的事件对象添加一些内容,那么只需使用 map 即可:

clickStream = Rx.Observable.fromEvent(li, 'click').map(function (event){
return {
event : event,
data : { src : people[p].img }
}
});

这尤其比在事件中直接插入 data 属性要好。 event 应该是不可变的。

或者您可以使用选择器重载(为了测试,从未真正使用过该选择器函数):

clickStream = Rx.Observable.fromEvent(li, 'click', function (event){
return {
event : event,
data : { src : people[p].img }
}
});

关于javascript - RxJS Observable.fromEvent 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39020288/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com