Vue2 to Vue3 migration - How to update mixins added in Vue2 components in Vue3's setup API.
P粉988025835
P粉988025835 2023-07-28 20:19:28
0
1
514
<p>Recently we started to migrate our application from Vue2 to Vue3, and mixins were added to some components. I would like to know how to add these mixins in Vue3. </p><p>I tried several solutions but didn't find a special one corresponding to `export default { name: "Modal", components: { Loader }, mixins: [] }` in Vue2 hook. How do I add a mixin? </p>
P粉988025835
P粉988025835

reply all(1)
P粉242126786

In Vue 3, you can still use mixins in a similar way to Vue 2 when using the Options API.

const mixin = {
  created() { console.log('Mixin'); },
};

export default {
  name: "Modal",
  components: { Loader },
  mixins: [mixin]
};

But for the Composition API, you must use composable functions instead of mixins:

// Composable declaration function
import { onMounted } from 'vue';

export function useMixin() {
  onMounted(() => console.log('Mixin'));
  return {};
}

// In your component
import { useMixin } from './mixin';
import Loader from './Loader';

export default {
  name: "Modal",
  components: { Loader },
  setup() {
    useMixin();
    return {};
  },
};

Combinable functions provide a clearer and more flexible alternative to mixins when using Vue 3's Composition API.

Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template