Vue3组件继承-extends
目录
Vue3》》组件继承 extends
extends 选项式
组合式 api 就是 组合式函数 Hooks
基类逻辑 (useBase.js) - 这是一个组合式函数
// useBase.js - 这不是一个组件,而是一个可复用的逻辑函数
import { ref, onMounted } from 'vue';
export function useBase() {
const baseMessage = ref('Hello from Base Logic!');
const baseCount = ref(0);
function baseIncrement() {
baseCount.value++;
}
onMounted(() => {
console.log('Base logic mounted');
});
// 将需要暴露的变量和方法返回
return {
baseMessage,
baseCount,
baseIncrement
};
}
》》子组件 (ChildComponent.vue) - 使用组合式函数
<template>
<div>
<p>{{ baseMessage }}</p>
<p>Child count: {{ childCount }}</p>
<button @click="baseIncrement">Base ++</button>
<button @click="childIncrement">Child ++</button>
</div>
</template>
<script setup>
import { ref } from 'vue';
// 导入并“组合”基类逻辑,而不是继承它
import { useBase } from './useBase';
// 使用基类逻辑,并解构出其返回的内容
const { baseMessage, baseCount, baseIncrement } = useBase();
// 子组件自己的逻辑
const childCount = ref(10);
const childIncrement = () => {
childCount.value++;
};
</script>