vue3 hooks封装方法
在Vue 3中,可以使用组合式API(Composition API)来创建可复用的hooks。以下是一个简单的例子,展示了如何封装一个自定义hook来处理计数器功能:
// useCounter.js
import { ref } from 'vue';
export function useCounter(initialValue = 0) {
const count = ref(initialValue);
function increment() {
count.value++;
}
function decrement() {
count.value--;
}
function reset() {
count.value = initialValue;
}
return { count, increment, decrement, reset };
}
然后在Vue组件中使用这个hook:
<template>
<div>
<p>Count: {{ count }}</p>
<button @click="increment">Increment</button>
<button @click="decrement">Decrement</button>
<button @click="reset">Reset</button>
</div>
</template>
<script>
import { useCounter } from './useCounter';
export default {
setup() {
const { count, increment, decrement, reset } = useCounter(10);
return { count, increment, decrement, reset };
}
};
</script>
在这个例子中,我们创建了一个名为useCounter
的hook,它提供了一个可以在多个组件之间复用的计数器功能。我们可以通过调用useCounter
函数并传入一个初始值(这里是10),来在组件内部使用这个计数器。这个hook返回了一个响应式的count
值和三个用于增加、减少和重置计数的函数。
评论已关闭