You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vue中使用ais-hits组件提取模板至独立组件后显示异常,如何修正?

正确的Algolia Hits组件复用写法

你当前的问题是没有正确接收ais-hits组件传递的数据,导致触发了组件的默认渲染逻辑,显示出objectID和index信息。以下是两种正确的写法:

写法一:通过默认插槽接收items后循环

保留ais-hits的默认插槽,先获取组件传递的items数组,再循环渲染你的SearchCard组件:

<ais-hits>
    <template #default="{ items }">
        <SearchCard 
            v-for="item in items" 
            :key="item.objectID" 
            :item="item" 
        />
    </template>
</ais-hits>

写法二:利用item插槽直接渲染单条数据

Vue InstantSearch的ais-hits提供了item插槽,专门用于自定义单条搜索结果的渲染,无需手动写循环,写法更简洁:

<ais-hits>
    <template #item="{ item }">
        <SearchCard :item="item" />
    </template>
</ais-hits>

你的SearchCard.vue组件可以保持现有内容,后续需要显示item具体字段时,直接通过props接收的item对象访问对应属性即可。

内容的提问来源于stack exchange,提问作者Tyssen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 02:32:39