首頁 > web前端 > Vue.js > 主體

vue子元件怎麼呼叫父元件的方法

青灯夜游
發布: 2021-10-26 12:03:28
原創
124544 人瀏覽過

方法:1、子元件中透過「this.$parent.event」來呼叫父元件的方法。 2.子元件用「$emit」向父元件觸發一個事件,父元件監聽這個事件即可。 3.父元件把方法傳入子元件中,在子元件裡直接呼叫這個方法即可。

vue子元件怎麼呼叫父元件的方法

本教學操作環境:windows7系統、vue2.9.6版,DELL G3電腦。

Vue中子元件呼叫父元件的方法,這裡有三種方法提供參考

第一種方法是直接在子元件中透過this.$parent.event來呼叫父元件的方法

父元件

<template>
  <p>
    <child></child>
  </p>
</template>
<script>
  import child from &#39;~/components/dam/child&#39;;
  export default {
    components: {
      child
    },
    methods: {
      fatherMethod() {
        console.log(&#39;测试&#39;);
      }
    }
  };
</script>
登入後複製

子元件

<template>
  <p>
    <button @click="childMethod()">点击</button>
  </p>
</template>
<script>
  export default {
    methods: {
      childMethod() {
        this.$parent.fatherMethod();
      }
    }
  };
</script>
登入後複製

第二種方法是在子元件裡用$emit向父元件觸發一個事件,父元件監聽這個事件就行了。

父元件

<template>
  <p>
    <child @fatherMethod="fatherMethod"></child>
  </p>
</template>
<script>
  import child from &#39;~/components/dam/child&#39;;
  export default {
    components: {
      child
    },
    methods: {
      fatherMethod() {
        console.log(&#39;测试&#39;);
      }
    }
  };
</script>
登入後複製

子元件

<template>
  <p>
    <button @click="childMethod()">点击</button>
  </p>
</template>
<script>
  export default {
    methods: {
      childMethod() {
        this.$emit(&#39;fatherMethod&#39;);
      }
    }
  };
</script>
登入後複製

第三種是父元件把方法傳入子元件中,在子元件裡直接呼叫這個方法

父元件

<template>
  <p>
    <child :fatherMethod="fatherMethod"></child>
  </p>
</template>
<script>
  import child from &#39;~/components/dam/child&#39;;
  export default {
    components: {
      child
    },
    methods: {
      fatherMethod() {
        console.log(&#39;测试&#39;);
      }
    }
  };
</script>
登入後複製

子元件

<template>
  <p>
    <button @click="childMethod()">点击</button>
  </p>
</template>
<script>
  export default {
    props: {
      fatherMethod: {
        type: Function,
        default: null
      }
    },
    methods: {
      childMethod() {
        if (this.fatherMethod) {
          this.fatherMethod();
        }
      }
    }
  };
</script>
登入後複製

【相關推薦:vue.js教學

#

以上是vue子元件怎麼呼叫父元件的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板