zoukankan      html  css  js  c++  java
  • 深度剖析Vue中父给子、子给父、兄弟之间传值!

    本片文章将为您详细讲解在Vue中,父给子传值、子给父传值以及兄弟之间传值方式!

    父传子;父组件

    //  template里面
            <aa :info="name"/>
    
    //  script里面
    import aa from './aa.vue'
          components:{
              aa
          },
          data(){
              return{
                  name : '小明'
              }
          }
    

      父传子;子组件

    // template里面
            {{info}}
    
    // script里面
      export default {
          props :['info']
      }

            需要注意的是,父组件传值给子组件,如果子组件不需要修改父组件的参数,可以使用这种方式!如果子组件要修改父组件中的参数,父组件必须用引用类型的参数传给子组件!

    子传父;父组件

    //  template里面   @info是父子之间通讯
    <app @info="change" />
    //  script里面
    import app from './views/app.vue'
     methods:{
    //  接受子组件传过来的参数;
         change(z){
             console.log(z)
         }
     }

    子传父;子组件

    //  temolate里面
    <el-button @click="change() ;aa()">我是子组件</el-button>
    //  script里面
    methods:{
          change(){
              this.$emit('info','我是儿子,传值给父亲')
          }
      }

    兄弟之间传值使用的是$bus的传值方式,具体配置如下

    同目录下创建bus.js

    //  bus.js中只需要写这么多就ok
    export default {
        install(Vue){
            Vue.prototype.$bus = new Vue({});
        }
    };

    main.js中需要引入bus.js文件!

    //  在main.js中引入创建好的bus.js文件
    import bus from './bus.js';
    Vue.use(bus);
    
    new Vue({
        el: '#app',
        render(h){
            return h(App);
        }
    });

    配置完成开始书写传值代码;

    兄弟传值;传值方

    <button @click=" $bus.$emit('info','哈哈')">点击兄弟传值</button>

    兄弟传值;接受方

    //  直接使用生命周期来接受,可以赋值给其他参数!
    created(){
      this.$bus.$on('info',data =>{
          console.log(data)
        })
    }

    如果喜欢我的文章,请关注下微信公众“前端伪大叔”!我将不定期为您发布各种前端重要知识点!谢谢

     
  • 相关阅读:
    springdataJpa对无主键表或视图查询的支持
    Blynk系列随笔
    arduino系列文章
    Debezium系列随笔
    Kafka系列随笔
    SSAS 收藏
    Saiku 系列
    Mondrian系列
    数据仓库理论学习
    加密解密
  • 原文地址:https://www.cnblogs.com/qdwds/p/11217260.html
Copyright © 2011-2022 走看看