vue2.6,使用作用域插槽v-slot报错

父组件TodoList:

<template>
  <to-do>
    <template v-slot:todo="slotProps">
      {{slotProps.user.firstName}}
    </template>
  </to-do>
</template>

<script>
import Todo from './Todo';
export default {
  components: {
    Todo
  }
}
</script>

子组件:

<template>
  <div>
    <slot name="todo" :user="user" :test="test">
      {{ user.lastName }}
    </slot>
  </div>
</template>

<script>
export default {
  data() {
    return {
      user: {
        lastName: "Zhang",
        firstName: "yue"
      },
      test: [1, 2, 3, 4]
    }
  },
}
</script>

vue的版本是2.6.0,按照官网的api,应该可以显示yue,但是控制台报错:
WX20191105-202328@2x.png

Property or method "slotProps" is not defined on the instance

请问哪个地方用的不对呢?

阅读 8.5k
2 个回答

兄弟你的组件名注册...
直接Todo注册 组件名是<todo></todo>
改成'to-do'或者'ToDo'

components: {
  'to-do': Todo
}
新手上路,请多包涵

这个报错是vue的版本小于2.6导致的

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题