Vue.js / Algolia - Динамически передавать имена полей в шаблоне - PullRequest
0 голосов
/ 17 сентября 2018

Я пытаюсь динамически отображать результаты поиска из Алголии на основе массива имен.

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 действительно имеет значения:

enter image description here

И я могу видеть результаты из Алголииа также:

enter image description here

Но это не показывает результаты.

Если я редактирую код и жёстко кодирую имя поля, которое хочучтобы показать, как это:

<template slot-scope="{ result }">
          {{ result.booking_reference }}
</template>

Я вижу результат просто отлично в моем шаблоне.

Что я делаю не так?

Обновление:

Как я могу сделать это с многомерным массивом?

Мой массив:

fields:Array[2]
0:Object
maintitle:"booking_reference"
1:Object
subtitle:"shipment_reference"

Мне нужно иметь доступ к нему, например:

result.maintitle.field

1 Ответ

0 голосов
/ 17 сентября 2018

попробуй

 <h1 v-for="field in fields">{{ result[field] }}</h1>

вместо

 <h1 v-for="field in fields">{{ result.field }}</h1>
...