I’m using Vue cli and I have a sidebar menu with a few options to view such as settings, list and history.
<Slide right>
<a>
<div class="mod">
<transition name="modal">
<div v-if="isOpen">
<div class="overlay" @click.self="isOpen = false;">
<div class="modal">
<Charts></Charts>
</div>
</div>
</div>
</transition>
<span @click="isOpen = !isOpen;" >
{{ isOpen ? "Close" : "Lists"}}
</span>
</div></a>
<a>
<div class="mod">
<transition name="modal">
<div v-if="isOpen">
<div class="overlay" @click.self="isOpen = false;">
<div class="modal">
<Charts></Charts>
</div>
</div>
</div>
</transition>
<span @click="isOpen = !isOpen;">
{{ isOpen ? "Close" : "Settings" }}
</span>
...
When I click on one of the options(lists, settings etc) in the menu a modal pops up for Charts component with three tabs for settings, list and history.
Charts.vue
<div class="tabs">
<a v-on:click="activetab=1" v-bind:class="[ activetab === 1 ? 'active' : '' ]">Lists</a>
<a v-on:click="activetab=2" v-bind:class="[ activetab === 2 ? 'active' : '' ]">Settings</a>
<a v-on:click="activetab=3" v-bind:class="[ activetab === 3 ? 'active' : '' ]">History</a>
</div>
<div class="content">
<div v-if="activetab === 1" class="tabcontent">
<Lists></List>
</div>
<div v-if="activetab === 2" class="tabcontent">
<Settings></Settings>
</div>
<div v-if="activetab === 3" class="tabcontent">
<History></History>
Currently I have History as the default tab:
data () {
return {
activetab: 3
}
But what I would like is that when I click on lists in the sidebar menu it defaults to list tab and when I click on settings it defaults to settings tab.
I tried to pass activetab as props to Charts component like:
<Charts :activetab=1>
<Charts :activetab=2>
<Charts :activetab=3>
But still didn’t work for me, maybe I did this wrong or I need a different solution.
Thanks!