Реквизит должен по крайней мере определить их типы

<template>
  <div 
    v-editable="blok" 
    class="util__flex">
    <component 
      v-for="blok in blok.columns" 
      :key="blok._uid" 
      :blok="blok" 
      :is="blok.component"/>
  </div>
</template>

<script>
export default {
  props: ['blok']
}
</script>

Я делаю учебник в Storyblok, и я получаю такую ​​ошибку.

https://www.storyblok.com/tp/nuxt-js-multilanguage-website-tutorial

Реквизит должен как минимум определять свои типы vue/require-prop-types

1 ответ

Решение

Возможно, вы включили ESlint при инициализации проекта (см. create-nuxt-app варианты), что активировал это обязательное правило.

Таким образом, вы должны объявить следующий тип:

  • строка
  • Число
  • логический
  • массив
  • объект
  • Дата
  • функция
  • Условное обозначение

Смотрите документ Vue.js:

https://vuejs.org/v2/guide/components-props.html https://vuejs.org/v2/guide/components-props.html

Для вашего случая:

<script>
export default {
  props: {
    blok: Object
  }
}
</script>

На текущий момент nuxtверсии (v2.8.1), мы должны установить реквизиты следующим образом:

<script>
export default {
  props: {
    blok: {
      type: Object,
      default: null
    }
  }
}
</script>
Другие вопросы по тегам