【发布时间】:2019-02-21 09:38:11
【问题描述】:
我正在尝试根据一组名称动态显示来自 Algolia 的搜索结果。
Input.vue:
<search-results title="Books" :fields="['booking_reference','shipment_reference']"></search-results>
Results.vue:
<template slot-scope="{ result }">
<h1 v-for="field in fields">{{ result.field }}</h1>
</template>
但是,上面的代码在我的模板中没有返回任何内容。它只是空白。
但我的fields 数组确实有值:
我也可以看到 Algolia 的结果:
但它没有显示结果。
如果我编辑代码并对要显示的字段名称进行硬编码,如下所示:
<template slot-scope="{ result }">
{{ result.booking_reference }}
</template>
我可以在我的模板中看到结果。
我做错了什么?
更新:
如何使用多维数组做到这一点?
我的数组:
fields:Array[2]
0:Object
maintitle:"booking_reference"
1:Object
subtitle:"shipment_reference"
我需要能够像这样访问它:
result.maintitle.field
【问题讨论】:
-
您在
Results.vue中使用的作用域插槽意味着还有另一个内部组件。如果是这种情况,请更新代码以显示内部组件的定义。否则,您根本不需要作用域插槽。
标签: vue.js vuejs2 algolia instantsearch.js