I'm trying to fire an event from my parent HamburgerCross to my child HamburgerMenu. But when I try to register my component with the name hamburgerMenu it starts throwing errors. It says that the element HamburgerMenu is unknown. How can I solve this problem?
<template>
<div>
<div class="grid-item-4">
<HamburgerCross @onToggle="toggleHamburgerMenu" />
<HamburgerMenu :links="links" ref="hamburgerMenu" />
</div>
</div>
</template>
<script>
import ButtonItem from '@/components/widgets/clickables/button_item.vue'
import LanguageSelect from '@/components/widgets/language_select.vue'
import HamburgerCross from '@/components/widgets/navigation/hamburger_menu_cross.vue'
import HamburgerMenu from '@/components/widgets/navigation/hamburger_menu.vue'
export default {
components:{
ButtonItem,
LanguageSelect,
HamburgerCross,
'hamburgerMenu' : HamburgerMenu,
},
data(){
return{
title: 'BLOCKBURN',
links: {'About' : '/about', 'Dapp' : '/dapp', 'Game' : '/game', 'Roadmap' : '/roadmap'},
defaultLanguage: 'uk',
buttonText: 'BUY BURN IEO',
buttonTheme: 'secondary',
}
},
methods:{
toggleHamburgerMenu(){
console.log('toggle nav');
this.$refs.hamburgerMenu.toggle();
}
}
}
</script>
<template>
<div>
<div class="grid-item-4">
<HamburgerCross @onToggle="toggleHamburgerMenu" />
<HamburgerMenu :links="links" ref="hamburgerMenu" />
</div>
</div>
</template>
<script>
import ButtonItem from '@/components/widgets/clickables/button_item.vue'
import LanguageSelect from '@/components/widgets/language_select.vue'
import HamburgerCross from '@/components/widgets/navigation/hamburger_menu_cross.vue'
import HamburgerMenu from '@/components/widgets/navigation/hamburger_menu.vue'
export default {
components:{
ButtonItem,
LanguageSelect,
HamburgerCross,
HamburgerMenu,
},
data(){
return{
title: 'BLOCKBURN',
links: {'About' : '/about', 'Dapp' : '/dapp', 'Game' : '/game', 'Roadmap' : '/roadmap'},
defaultLanguage: 'uk',
buttonText: 'BUY BURN IEO',
buttonTheme: 'secondary',
}
},
methods:{
toggleHamburgerMenu(){
console.log('toggle nav');
this.$refs.hamburgerMenu.toggle();
}
}
}
</script>
remove 'hamburgerMenu'
and it'll be fine. like you mention in comment that you want to use it with ref, there's no impact on ref
like skirtle said if you're registering it on component.
I don't get it why does toggleHamburgerMenu not get triggered I throw the even in the parent with this.$emit("onToggle", this.open);
is it display
toggle nav
in the console?