我有一个在“所有”和“收藏夹”之间切换的过滤器列表。这工作正常。但是,当我在这两种方法中激活已注释掉的 ev.off() 时,从一个过滤器切换到另一个过滤器将不再产生结果。从那时起,这两个列表都将保持空白。(顺便说一句:由于 ev.off() 仍处于试验阶段,我现在还可以,不使用它。也许这个信息可能有助于未来的发布)
1.subscribe() 方法调用相关列表方法
export const subscribe = (payload, cb) => {
const filter = payload.filter
const user = payload.user
switch (filter) {
case 'all' :
subscribeAllSkills(cb)
break
case 'favorites' :
subscribeFavoriteSkills(user, cb)
break
...
}
}
2.subscribeAllSkills()
const subscribeAllSkills = (cb) => {
gun.get('skill')
.map()
.on(
(skill, pk, ctx, ev) => {
//ev.off()
cb(skill, pk)
}
)
}
3.
const subscribeFavoriteSkills = (user, cb) => {
gun.get('user')
.get(user.pk)
.get('favorite_skill')
.map()
.on(
(skill, pk, ctx, ev) => {
//ev.off()
cb(skill, pk)
}
)
}