parent.vue
定义了1个方法和2个数据

<template>
  <div class="">
      这是父组件
      {{message}}
  </div>
</template>

<script>
export default {
  name: 'Parent',

  data() { 
    return {
        message: "Hello Vue",
        sayHello: "Parent say hello"
    }
  },
  methods:{
      showMessage(){
          alert(this.sayHello + this.message);
      }
  },
 }
</script>

child.vue
继承父组件,使用父组件中的方法,并覆写父组件中的数据

<template>
  <div class="">
      这是子组件
      {{message}}
      <button @click="showMessage">点击</button>        
  </div>
</template>

<script>
import Parent from "./Parent.vue";

export default {
  name: 'Child',
  
  extends: Parent,

  data(){
      return{
          sayHello: "Child say hello"
      }
  }
  
 }
</script>

about.vue
调用child组件

<template>
  <div class="about">
    <h1>这是about</h1>
    <Child/>
  </div>
</template>

<script>
import Child from "./Child.vue";

export default {
  name: "About",
  components:{
    Child
    },
}
</script>

实现效果,父组件的方法取得了子组件覆写过的数据

在这里插入图片描述

Logo

前往低代码交流专区

更多推荐