道具至少应定义其类型

时间:2018-12-06 20:48:36

标签: vue.js vue-component eslint nuxt.js storyblok

<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#creating-the-homepage-components

  

道具至少应定义其类型vue / require-prop-types

2 个答案:

答案 0 :(得分:6)

您可能已在项目初始化(请参见create-nuxt-app选项)上启用了ESlint,从而激活了此强制性规则。

所以您必须声明以下类型:

  • 字符串
  • 号码
  • 布尔值
  • 数组
  • 对象
  • 日期
  • 功能
  • 符号

请参见Vue.js文档:

https://vuejs.org/v2/guide/components-props.html#Prop-Types https://vuejs.org/v2/guide/components-props.html#Type-Checks

针对您的情况:

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

答案 1 :(得分:0)

对于当前的nuxt版本(v2.8.1),我们应按以下方式设置道具

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