Я работал над системой подменю для vue.js, которая заполняется детьми текущего маршрута. Я недавно опубликовал вопрос об этом, и на него был дан ответ.
Сейчас я пытаюсь улучшить это, но у меня возникают проблемы с поиском пути к компоненту или пространству имен(не уверен, какое слово использовать).В настоящее время я вижу то, что я хочу в инструментах Vue Dev, но я просто не знаю, как получить эти свойства.
![enter image description here](https://i.stack.imgur.com/UOl6r.png)
Я пытался {{$ route.path}}, но это только дает мне полный путь.
Еще одна вещь, которую я попробовал, какие виды подсказок - это сохранение текущего пути при первой загрузке меню.Который сохраняет путь, к которому я хочу присоединиться.Единственная проблема заключается в том, что когда я перехожу прямо на страницу, она загружает меню с URL-адресом страниц, что нарушает функциональность.
Вот код:
<template>
<nav id="sidebar">
<div class="sidebar-header">
<h3>Bootstrap Sidebar</h3>
</div>
<h2>Route: {{ }}</h2>
<ul class="list-unstyled components" v-for="(route, index) in $router.options.routes.filter(x=>x.path==path)">
<li v-for="child in route.children">
<a class="nav-item" :key="index">
<router-link :to="{path: path+'/'+child.path}" exact-active-class="active">
<icon :icon="route.icon" class="mr-2" /><span>{{ child.path }}</span>
</router-link>
</a>
</li>
</ul>
</nav>
</template>
<script>
export default {
data() {
return {
path: this.$route.path
}
},
methods: {
},
}
</script>
Я действительно хочу что-то ближек этому, хотя вместо использования $ route.path для возврата полного пути, например / traveler / Create Я хочу что-то просто вернуть / traveler или что-то ещепуть для его просмотра маршрутизатора:
<template>
<nav id="sidebar">
<div class="sidebar-header">
<h3>Bootstrap Sidebar</h3>
</div>
<ul class="list-unstyled components" v-for="(route, index) in $router.options.routes.filter(x=>x.path==$route.path)">
<li v-for="child in route.children">
<a class="nav-item" :key="index">
<router-link :to="{path: $route.path+'/'+child.path, params: { idk: 1 }}" exact-active-class="active">
<icon :icon="route.icon" class="mr-2" /><span>{{ child.path }}</span>
</router-link>
</a>
</li>
</ul>
</nav>
</template>
<script>
import { travelerroutes } from '../../router/travelerroutes'
export default {
data() {
console.log(travelerroutes);
return {
travelerroutes,
collapsed: true
}
},
methods: {
toggleCollapsed: function (event) {
this.collapsed = !this.collapsed
}
}
}
</script>