父组件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
,但是控制台报错:
Property or method "slotProps" is not defined on the instance
请问哪个地方用的不对呢?
兄弟你的组件名注册...
直接Todo注册 组件名是<todo></todo>
改成'to-do'或者'ToDo'