vue入坑教程(三)vue父子組件之間互相調用方法以及互相傳遞數據


1、父組件調用子組件的方法

父組件:

<template>
    <div>
        <button v-on:click="clickParent">點擊</button>
        <child1 ref="child1"></child1>
    </div>
</template>

<script>
    import Child1 from './child1';
    export default {
        name: "parent",
        components: {
            child1: Child1
        },
        methods: {
            clickParent() {
                // this.$refs.child1.$emit('click-child', "high");
                this.$refs.child1.handleParentClick("ssss");
            }
        }
    }
</script>

子組件:

<script>
    export default {
        name: "child1",
        props: "msg",
        methods: {
            handleParentClick(e) {
            }
        }
    }
</script>

 

2、子組件調用父組件的方法

父組件:

<template>
      <div class="wrapper">
            <cp_action @parentMethod="macSelect"></cp_action>
      </div>
</template>
<script>
import ../components/action  //引入子組件
export default{
    components:{
        cp_action
    },
    method:{
        macSelect(){
            //方法體
            alert(123);
        }
    }
}
</script>

子組件:

<template>
    <div class="bet-action">
        <span class="mac-select" @click="childMethod">機選</span>
    </div>
</template>
<script>
    export default{
      methods: {
          childMethod() {
              console.log('請求父組件方法');
              this.$emit('parentMethod');  //使用$emit()引入父組件中的方法
          }
      },
    }
</script>

 

3、父組件向子組件傳遞數據(可以通過props屬性來實現)

父組件:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM