父组件传参给子组件
父组件: 子组件引入父组件注册后当做标签的形式挂载 <子组件 :xxx="传递的参数"></子组件> 子组件: 利用props接收 props:{}
vue 子组件使用$emit传参给父组件
方法一: 子组件: this.$emit('xxx', 参数) 父组件: <子组件 @xxx='方法名($event)'></子组件> 方法二:父组件中子组件标签绑定一个ref 可以 通过this.$refs.xxx来获取
兄弟组件传参:
main.js
vue.prototype.$EventBus = new vue() // 先将其绑定在原型链上
兄1:this.$EventBus.$emit('xxx' ,参数)
兄2:this.$EventBus.$on('xxx', (message) => {
console.log(message)
})
动态组件:
<component :is="变量名"></component>
'变量名' 是data里的数据可以动态改变从而切换不同的组件,显示不同的组价内容
将需要变换的组件先引入共同的父组件 然后根据各自项目需求进行切换。
最后还发现了一种传参方式:provide inject
vue提供了provide inject帮助我们解决多层嵌套通信的问题,在provide中指定要传递给子孙组件的数据,子孙组件通过inject注入祖父组件传递过来的数据。