Vue2.x中的父组件数据传递至子组件
父组件结构
template
<template> <div> <v-girl-group :girls="aGirls"></v-girl-group> </div> </template>
script
<script> import vGirlGroup from './GirlGroup' export default { name: 'girl', components: { vGirlGroup }, data () { return { aGirls:[{ name:'小丽', age:22 },{ name:'小美', age:21 },{ name:'小荷', age:24 }] } } } </script>
注意的点:
- 子组件的拼写方式:
vGirlGroup
写成v-girl-group
- 这里子组件中的绑定数据是
:girls="aGirls"
,这里的aGirls
数据是父组件中的data,girls
是要传递至子组件的属性
子组件结构
template
<template> <div> <ul> <li v-for="(value, index) in girls">{{ index }} - {{ value.name }} - {{ value.age }}</li> </ul> </div> </template>
注意的点:
- v-for的遍历对象时的参数顺序-变更 具体见:https://cn.vuejs.org/v2/guide/migration.html#v-for-遍历对象时的参数顺序-变更
- v-for中$index和$key这两个隐式声明的变量移除 具体见:https://cn.vuejs.org/v2/guide/migration.html#index-and-key-移除
<script> export default { name: 'girl-group', props: { girls: { type: Array, required: true } } } </script>
注意点:
props
中的数据是来自在父组件中绑定在子组件上的值 另外:使用IDE、编辑器开发时,可能会提示成prop
girls
中对数据做了一些校验