In vue2 war es einfach:

<template>
 <button :class="type"><slot /></button>
</template>
<script>
 export default {
   name: 'Button',
   props: [ 'type' ],
 }
</script>
import Button from 'Button.vue'
import Vue from 'vue'

var ComponentClass = Vue.extend(Button)
var instance = new ComponentClass()

instance.$mount() // pass nothing
this.$refs.container.appendChild(instance.$el)

Instanz erweitern + erstellen. Aber in vue3 wurde es gelöscht. Wo ist ein anderer Weg?

9
Artemiy 7 Okt. 2020 im 23:00

2 Antworten

Beste Antwort
import {defineComponent,createApp} from 'vue'

buttonView = defineComponent({
    extends: Button, data() {
        return {
            type: "1111"
        }
    }
})

const div = document.createElement('div');
container.appendChild(div);
createApp(buttonView ).mount(div)
0
Artemiy 8 Okt. 2020 im 10:56

Probieren Sie den folgenden Code aus:

import Button from 'Button.vue'


const CompB = {
  extends: Button
}

this.$refs.container.appendChild(CompB.$el)
1
Boussadjra Brahim 7 Okt. 2020 im 20:18