欢迎你的到此一游,在查看的过程中有疑问可在主页添加博主咨询,也可在下方评论留言。

vue 子组件传值给父组件,兄弟组件传参以及实现动态组件

父组件传参给子组件

 

父组件:

     子组件引入父组件注册后当做标签的形式挂载

     <子组件 :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注入祖父组件传递过来的数据。




posted @ 2020-07-01 14:25  廖客  阅读(1695)  评论(0编辑  收藏  举报