vue子组件调用父组件内的方法

vue子组件调用父组件的方法

  • 在子组件里用$emit向父组件触发一个事件,父组件监听这个事件即可

父组件

<template>
  <div>
    <child @fatherFunc="fatherFunc"></child>
  </div>
</template>
<script>
  import child from './components/child';
  export default {
    components: {
      child
    },
    methods: {
      fatherFunc() {
        console.log('我是父组件方法');
      }
    }
  };
</script>

子组件

<template>
  <div>
    <button @click="childFunc()">点击</button>
  </div>
</template>
<script>
  export default {
    methods: {
      childFunc() {
        this.$emit('fatherFunc');
      }
    }
  };
</script>
  • 直接在子组件中通过this.$parent.event来调用父组件的方法
    父组件
<template>
  <div>
    <child></child>
  </div>
</template>
<script>
  import child from './components/dam/child';
  export default {
    components: {
      child
    },
    methods: {
      fatherMethod() {
        console.log('测试');
      }
    }
  };
</script>

子组件

<template>
  <div>
    <button @click="childMethod()">点击</button>
  </div>
</template>
<script>
  export default {
    methods: {
      childMethod() {
        this.$parent.fatherMethod();
      }
    }
  };
</script>
相关推荐
©️2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页