Пустой экран после обновления vue-instantsearch с версии 1.7.0 до 2.0.0 - PullRequest
0 голосов
/ 11 марта 2019

Версия узла: 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 Ответ

1 голос
/ 22 марта 2019

На основании вашего сообщения об ошибке:

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> и посмотрите, как он работает:)

...