Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/476.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Instantsearch.js/Hits小部件:在细化过程中转换数据_Javascript_Algolia - Fatal编程技术网

Javascript Instantsearch.js/Hits小部件:在细化过程中转换数据

Javascript Instantsearch.js/Hits小部件:在细化过程中转换数据,javascript,algolia,Javascript,Algolia,我将Instantsearch.js与优化列表和点击小部件一起使用 我有一个分面搜索/优化列表的颜色 每个项目都有一组图像 每个图像都有一个url,以及一个颜色数组 当您按红色进行过滤时,例如,我想显示图像,该图像在其颜色数组中具有红色 因此,在优化列表的任何过滤器上调整发送到我的项目模板的数据似乎是合乎逻辑的 起初我似乎可以使用小部件。点击的transformData回调:,但是,在筛选优化列表时,似乎不一定要调用transformData。如果结果正在显示,并且在细化列表过滤器之后仍然显

我将Instantsearch.js与
优化列表
点击
小部件一起使用

我有一个分面搜索/
优化列表
颜色

  • 每个项目都有一组
    图像
  • 每个
    图像
    都有一个
    url
    ,以及一个
    颜色数组
  • 当您按红色进行过滤时,例如,我想显示
    图像
    ,该图像在其
    颜色
    数组中具有红色
因此,在
优化列表
的任何过滤器上调整发送到我的
项目
模板的数据似乎是合乎逻辑的

起初我似乎可以使用
小部件。点击
transformData
回调:,但是,在筛选
优化列表时,似乎不一定要调用
transformData
。如果结果正在显示,并且在细化列表过滤器之后仍然显示,则transformData似乎不会被调用

关于实现这一目标的方法或其他方法有何建议

以下是我目前所在的位置:

它应该如何工作:

  • 测试产品配置-默认图像(无过滤器):Admiral Ackbar 128Px
  • 点击棕色
  • 点击粉红色
  • 测试产品配置的映像现在是Poochie
  • 取消选中粉色,选中蓝色
  • 测试产品配置的图像现在为Bowie
很好-除非仅当
从以前的状态重新渲染时,此选项才有效

例如,未检查任何过滤器(不工作,这就是问题所在):

  • 测试产品配置-默认图像(无过滤器):Admiral Ackbar 128Px
  • 粉红色格子
  • 图像应该是Poochie,但仍然是Ackbar上将128Px,可能是因为
    transformData
    尚未对该项目调用,因为它已经存在,不需要重新渲染

嗨,蒂姆,在这个问题上帮助你的最好方法是让任何现场JSFIDLE或演示演示你当前的问题。你能做到吗?@vvo刚刚更新了我的原始帖子,提供了更多细节和一个jsfiddle。好吧,这显然是一个bug,new可以在github上打开它吗:你在这里完成了一些惊人的调试任务。谢谢