не может динамически связывать путь на vuejs с помощью router-link и v-for

У меня возникли проблемы с правильным рендерингом router-link с помощью директивы v-for.

Я хочу, чтобы в боковом меню была ссылка, ведущая пользователя на страницу, URL-адрес которой соответствует имени элемента бокового меню.
Итак, если элемент «HOME», он должен вести на
myproject.com/HOME.
Однако каким-то образом он становится
myproject.com/Campaign/Campaign/Campaign/HOME
, когда это визуализируется.

Я буквально понятия не имею, что происходит, и я ищу помощи.

<div id="side">
  <v-navigation-drawer
    fixed
    clipped
    app
    v-model="drawer"
  >
        <v-list dense>
          <template v-for="x in item">
            <div id="no-child" v-if="!x.children">
              <router-link :to="{ path: x.title }">
                <v-list-tile>
                  <v-list-tile-content>
                    <v-list-tile-title>{{x.title}}</v-list-tile-title>
                  </v-list-tile-content>
                </v-list-tile>
              </router-link>
              <v-divider></v-divider>
            </div>
            <div id="with-child" v-else-if="x.children">
              <v-list-gruop>
                  <v-list-tile>
                    <v-list-tile-content>
                      <v-list-tile-title>{{x.title}}</v-list-tile-title>
                    </v-list-tile-content>
                  </v-list-tile>
                  <v-list-tile>
                    <v-list-tile-content v-for="z in x.children">
                      <router-link :to="{ path: x.title}">
                        <v-list-tile-title>{{ z.text }}</v-list-tile-title>
                      </router-link>
                    </v-list-tile-content>
                  </v-list-tile>
                </v-list-gruop>
              <v-divider></v-divider>
            </div>
          </template>
        </v-list>
  </v-navigation-drawer>

export default {
data: () => ({
  drawer: null,
  item: [
    {title: 'HOME'},
    {title: 'Campaign',
      children: [
        {text: 'Start'},
        {text: 'Campaigns'},
        {text: 'Previous'}
      ]
    },
    {title: 'Payment',
      children: [
        {text: 'Pending'},
        {text: 'Completed'}
      ]
    },
    {title: 'Profile'},
    {title: 'Logout'}
  ]
})}

The result of the above is:


person HelloWorld    schedule 27.12.2017    source источник
comment
Не могли бы вы создать jsfiddle с этим? Довольно сложно понять, что происходит...   -  person V. Sambor    schedule 28.12.2017
comment
В этом вопросе недостаточно информации, чтобы помочь. Укажите полный код компонента, а также код маршрутизатора.   -  person webnoob    schedule 28.12.2017


Ответы (1)


<router-link :to="{ path: '/' + x.title }">

косая черта означает, что вы переходите на страницу /HOME в корневом каталоге вашего веб-сайта.

person caseyli    schedule 28.12.2017