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





免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM