vue的组件间传值可分为以下几种情况:
1.父子组件间的传值:通过props传值。父组件引入封装好的子组件,通过变量 占位传值,在子组件中通过props接收数据。
2.子父组件传值:子组件通过$emit方法传递参数:
例如:this.$emit('emitEvent',data,'传递的参数或值')
父组件中:
<template @emitEvent='ievent'></template>
methods:{
ievent(..data){
console.log(‘allData',data)
}
}
3.watch监听变化:
1.watch是一个对象,有键(要监听的对象),值(对象发生变化,执行的函数。
值可以是函数,也可以是函数名。
例如:
4.父组件引用封装出去的子组件
5.通过动态组件:
注意:通过使用预定义的标签<component>可以动态的绑定is特性,使得多个组件有一个共同的挂载点,实现动态切换。
<keep-alive>标签会把切换出去的组件保留在内存中,可以保留他的状态或避免重新渲染
6.兄弟之间传值:eventBus传值(中间代理人)
首先先创建这个中间代理人(eventbus)
A组件向B组件传值,A组件中要通过eventbus总线触发相应的事件
B组件要在钩子函数中监听相应的事件:
ps:解释的不好大家见谅,欢迎大家评论,提出意见