Próbuję mieć stronę główną z zakładkami zawierającymi 2 listy, z 1 otwartą domyślnie.Domyślna trasa podrzędna routera vue dla kart
Mam następujące config trasy, zmieniłem nazwy uprościć
let routes = [{
path: '/',
name: 'home',
component: require('./views/Home.vue'),
children: [{
path: 'list1',
name: 'home.list1',
component: require('./views/List1.vue')
}, {
path: 'list2',
name: 'home.list2',
component: require('./views/List2.vue')
}]
}
Inside ./views/Home.vue
Mam <router-view></router-view>
poniżej 2 <router-link>
s dla każdej karcie (trasy dziecięcej).
Gdy odwiedzam trasę aplikacji http://domain/
, chcę aktywować zakładkę list1
. Jedyny sposób, w jaki mogę to teraz zrobić, to wizyta http://domain/list1
.
Próbowałem
children: [{
path: '',
name: 'home.list1'
i to początkowo działa dobrze, jednak jeśli mogę odwiedzić http://domain/list2
obie moje linki zakładką (Router-linki) mają stan aktywny.
JSFiddle których nie mogę dostać się do uruchomienia, ale pomaga w kontekście
Czy istnieje lepsze rozwiązanie tego?
https://router.vuejs.org/en/essentials/nested-routes.html zobacz przykład na samym dole strony. – Eggy
@Eggy, ale gdy zdefiniujesz drugą trasę podrzędną, gdy jest ona aktywna, zarówno dziecko "" będzie aktywne –
Titan
Trudno powiedzieć bez przykładu. Ale możesz wypróbować "dokładny" podprogram na łączu routera https://router.vuejs.org/en/api/router-link.html – Eggy