再会!
假设我想将 Vue 与 options api 一起使用,但又不想使用 mixin,因为它们会导致很多问题。我想使用可组合项作为混合项来为混合项/可组合项提供命名空间。
所以,我的“解决方案”是结合选项 api 和组合 api。
假设我有一个这样的 mixin:
export default {
data() {
return {
person: {
first_name: 'first name',
last_name: 'last name',
},
gender: 'gender'
}
}
Run Code Online (Sandbox Code Playgroud)
所以我决定将其转换为可组合项,如下所示:
export default () => {
const person = reactive({first_name: 'fn', last_name: 'ln'});
const gender = ref('gender');
return {
person,
gender,
}
}
Run Code Online (Sandbox Code Playgroud)
因此,在我的 .vue 文件中,我可以导入可组合项:
<script lang="ts">
import useDataComposable from './dataMixin';
...
export default defineComponent({
...
setup() {
const dataComposable = useDataComposable();
dataComposable.gender.value = 'gender2'; …Run Code Online (Sandbox Code Playgroud)