Reputation: 1828
I am trying to make a custom component that call itself. i keep getting an error
Unknown custom element: <TestRec> - did you register the component correctly? For recursive components, make sure to provide the "name" option.
I have included a name option as you can see below but this doesn't solve the problem.
Any idea what it could be?
<template>
<div>
<h4>I am a component that can call itself below</h4>
<v-select :items="['TestRec', 'normal']" v-model="comp"></v-select>
<hr />
<component :is="comp"></component>
</div>
</template>
<script>
import TestRec from "./TestRec";
export default {
name: 'New-Test-Rec', //Name tried 'Test-Rec' too. Same result
components: {
TestRec
},
data(){
return {
comp: null
}
}
}
</script>
Upvotes: 1
Views: 1516
Reputation: 1677
Worked for me when I removed components
key and called it with its name. here is a running example in code sandbox and here is the code for future reference:
<template>
<div class="hello">
<h4>I am a component that can call itself below</h4>
<button @click="show = true">Load next</button>
<hr />
<component v-if="show" :is="'TestRec'"></component>
</div>
</template>
<script>
export default {
name: 'TestRec',
data() {
return {
msg: 'Welcome to Your Vue.js App',
show: false
}
}
}
</script>
Upvotes: 5