Vue.js 父子组件,为啥我的 prop 在子组件中还没有?
Posted
技术标签:
【中文标题】Vue.js 父子组件,为啥我的 prop 在子组件中还没有?【英文标题】:Vue.js parent-child components , why my prop is not yet available in child component?Vue.js 父子组件,为什么我的 prop 在子组件中还没有? 【发布时间】:2018-12-20 09:32:00 【问题描述】:在父组件 Member.vue 中,我通过 getter 从 Vuex 存储中获取用户和帐户数据
<script>
import mapGetters from 'vuex'
import Profile from '@/components/Member/Profile.vue'
export default
name: 'member',
components:
Profile
,
data ()
return
,
computed:
...mapGetters(['user', 'account'])
,
methods:
,
created ()
console.log('MEMBER VUE CREATED user: ', this.user)
console.log('MEMBER VUE CREATED account: ', this.account)
</script>
在子组件配置文件中,我从道具中获取用户数据,但它是未定义的......
<script>
export default
name: 'profile',
props: ['user'],
computed:
...
,
methods:
...
,
created: function ()
console.log('user data from parent component:')
console.log('user: ', this.user)
</script>
我猜它与父子生命周期挂钩...但我实际上并没有看到如何轻松解决它...感谢您的反馈
【问题讨论】:
可以分享一下html代码吗?那就是您将财产传递给孩子的地方,在您的情况下,它类似于<profile :user="user" ...></profile>
是的,很简单:在您的 HTML 中,您需要将属性传递给子级,在您的情况下,它可能类似于:
<profile :user="user" ...></profile>
【讨论】:
以上是关于Vue.js 父子组件,为啥我的 prop 在子组件中还没有?的主要内容,如果未能解决你的问题,请参考以下文章
vue.js学习笔记— 父子组件之间通信的第一种方式 props 和 $emit
Vue.js - 如何将 prop 作为 json 数组传递并在子组件中正确使用?