Vue父子组件间数据流是单向的,即父-》子,虽然是支持双向数据流的,但是不推荐。
本章主要讲组件间传值:父子组件,兄弟组件,v-model传值,父子组件间双向数据流实现。
1. 父组件–》子组件
父组件
<todo-item
v-for="(item, index) of list"
:content="item"
:index="index"
@delete="DeleteHandle"
>
子组件
export default {
props: ['content', 'index']
}
2. 子组件–》父组件
子组件
this.$emit('delete', this.cindex);//对外发布一个delete方法,并传参数index
父组件
<todo-item
v-for="(item, index) of list"
:content="item"
:index="index"
@delete="DeleteHandle"
>
<script>
export default {
methods: {
DeleteHandle: function(cindex){
console.log(cindex)
}
}
}
</script>
3. 兄弟组件间传值
需求:
父组件index.vue
子组件LeftTree.vue, RightMain.vue
试图从LeftTree.vue —》RightMain.vue传值,即兄弟组件间传值
思路:
借用父组件做过渡
代码如下:
子组件L