我收到错误
TypeError:无法读取未定义“
的属性”name“
如果我深入到物体中。
Timeline.vue
<template>
<div class="container">
<div class="row">
<div class="col-md-8 col-md-offset-2">
<div class="card card-default">
<div class="card-header">Timeline</div>
<div class="card-body">
<post v-for="post in posts" :key="post.id"></post>
</div>
</div>
</div>
</div>
</div>
</template>
<script>
import Post from './Post.vue'
export default {
data () {
return {
posts: []
}
},
components: {
Post
},
mounted() {
this.$http.get('/posts').then((response) => {
console.log(response.body)
this.posts =response.body
})
}
}
</script>
post.vue
<template>
<div class="media">
<div class="media-left">
</div>
<div class="media-body">
<strong>test</strong>
<strong>{{ post.user.name }} </strong>
</div>
</div>
</template>
<script>
export default {
props: [
'post'
]
}
</script>
然后我为什么会收到错误? 我想{{post.user.name}}会遇到一些问题。
答案 0 :(得分:2)
你需要像这样在模板中传递post prop。否则它在子组件(post)中未定义。
<div class="card-body">
<post
v-for="post in posts"
:key="post.id"
:post="post">
</post>
</div>