Пустой экран после обновления vue-instantsearch с версии 1.7.0 до 2.0.0
Версия узла: v10.14.1 Версия NPM: 6.4.1: ОС: Windows
Описание: Я включил algolia в свой проект vuejs, который работает очень хорошо. Сейчас я обновляю этот модуль с версии 1.7.0 до 2.0.0. При обновлении пакета отображаются ошибки консоли, и на экране ничего не отображается. Я также попытался решить эту проблему, включив необходимые пакеты, но не получил результатов. Вот ошибки консоли:
[Vue warn]:Unknown custom element: <ais-index> - did you register the component correctly? For recursive components, make sure to provide the "name" option.
[Vue warn]: Unknown custom element: <ais-input> - did you register the component correctly? For recursive components, make sure to provide the "name" option
[Vue warn]: Error in nextTick: "TypeError: It looks like you forgot to wrap your Algolia search component "<ais-refinement-list>" inside of an "<ais-instant-search>" component."
TypeError: It looks like you forgot to wrap your Algolia search component "<ais-refinement-list>" inside of an "<ais-instant-search>" component.
Вот мой код:
<template>
<div id="app">
<p>{msg}</p>
<div id="app">
<ais-index app-id="latency" api-key="6be0576ff61c053d5f9a3225e2a90f76" index-name="ikea">
<ais-search-box placeholder="Search for a product..."></ais-search-box>
<ais-results>
<template scope="{ result }">
<div class="search-result">
<img class="result__image img-responsive" :src="result.image">
<div class="result__info">
<h2 class="result__name">
<ais-highlight :result="result" attribute-name="name"/>
</h2>
<div class="result__type">
<ais-highlight :result="result" attribute-name="type"/>
</div>
<div class="result__rating">
<template v-for="n in 5">
<span v-if="n <= result.rating" class="result__star"></span>
<span v-else class="result__star--empty"></span>
</template>
</div>
<div class="result__price">${{result.price}}</div>
</div>
</div>
</template>
</ais-results>
<ais-pagination v-bind:class-names="{'ais-pagination': 'pagination'}"></ais-pagination>
</ais-index>
</div>
</div>
</template>
<script>
//main.js
import 'babel-polyfill'
import Vue from 'vue'
import Vuetify from 'vuetify'
import InstantSearch from 'vue-instantsearch'
//router
import router from './router'
Vue.use(InstantSearch)
Vue.config.productionTip = false
new Vue({
store,
router,
i18n,
render: h => h(App)
}).$mount('#app')
Какие изменения необходимы, чтобы это работало? Если кому-то нужна дополнительная информация, пожалуйста, дайте мне знать. Спасибо!
1 ответ
На основании вашего сообщения об ошибке:
TypeError: It looks like you forgot to wrap your Algolia search component "<ais-refinement-list>" inside of an "<ais-instant-search>" component.
это выглядит как <ais-instant-search>
может потребоваться с новой основной версией vue-instantsearch
API.
Итак, заверните компонент с <ais-instant-search>
и посмотрим как получится:)