原始代码:
FancList.vue文件
<script setup>
import { ref } from 'vue'
const props = defineProps(['api-url', 'per-page'])
const items = ref([])
// mock remote data fetching
setTimeout(() => {
items.value = [
{ body: 'Scoped Slots Guide', username: 'Evan You', likes: 20 },
{ body: 'Vue Tutorial', username: 'Natalia Tepluhina', likes: 10 }
]
}, 1000)
</script>
<template>
<ul>
<li v-if="!items.length">
Loading...
</li>
<li v-for="item in items">
<slot name="item" v-bind="item"/>
</li>
</ul>
</template>
<style scoped>
ul {
list-style-type: none;
padding: 5px;
background: linear-gradient(315deg, #42d392 25%, #647eff);
}
li {
padding: 5px 20px;
margin: 10px;
background: #fff;
}
</style>
APP.vue文件
<script setup>
import FancyList from './FancyList.vue'
</script>
<template>
<FancyList api-url="url" :per-page="10">
<template #item="{ body, username, likes }">
<div class="item">
<p>{{ body }}</p>
<p class="meta">by {{ username }} | {{ likes }} likes</p>
</div>
</template>
</FancyList>
</template>
<style scoped>
.meta {
font-size: 0.8em;
color: #42b883;
}
</style>
问:
现在我希望将APP.vue文件中的
<template #item="{ body, username, likes }">
</template>修改为
<template #item="{ item }">
</template>
这时候突然什么数据都没有了,我预测是会显示item的所有数据的,但是现在什么数据都没有了
回答:
修改后的代码:
当修改FancList.vue文件的v-bind='item'为:item='item'后,就可以正常显示item数据了
回答: