router-link 与 vue 和 vuetify 的混淆

问题描述 投票:0回答:4

如何使用预定义模板来使用 vue-router:

https://vuetifyjs.com/examples/layouts/google-contacts

我在我的项目对象中添加了一个链接

 items: 
[{ icon: 'dashboard' text: 'Home', link: '/'},

{ icon: 'dashboard' text: 'Account', link: '/account'},

我很困惑该把 router-link 组件放在哪里。

vue-router vuetify.js
4个回答
136
投票

v-list-tile
v-btn
v-card
都扩展了
router-link
,因此您可以直接在这些组件上使用任何
router-link
属性。

在你的情况下,你可以使用

<v-list-tile :to="item.link">


11
投票

我也遇到了同样的问题,我是这样解决的:

<v-list-item v-else :key="item.text" link>
<!-- to -->
<v-list-item v-else :key="item.text" :to="item.link" link>
    
    
<v-list-item v-for="(child, i) in item.children" :key="i" link>
<!-- to -->
<v-list-item v-for="(child, i) in item.children" :key="i" :to="child.link" link>
{ icon: "mdi-history", text: "Recientes", link: "/" },

别忘了将

<router-view />
放入容器中。

<v-content>
  <v-container class="fill-height" fluid>
    <router-view />
  </v-container>
</v-content>

1
投票

示例:

<template>
  <v-navigation-drawer
    app
    clipped
    permanent
    expand-on-hover
  >
    <v-list>
      <v-list-item class="px-2">
        <v-list-item-avatar>
          <v-img src="https://randomuser.me/api/portraits/women/85.jpg"></v-img>
        </v-list-item-avatar>
      </v-list-item>

      <v-list-item link>
        <v-list-item-content>
          <v-list-item-title class="title">Sandra Adams</v-list-item-title>
          <v-list-item-subtitle>[email protected]</v-list-item-subtitle>
        </v-list-item-content>
      </v-list-item>
    </v-list>

    <v-divider></v-divider>

    <v-list
      nav
      dense
    >
      <v-list-item v-for="(item, i) in items" :key="i" :to="item.link" link>
        <v-list-item-icon>
          <v-icon>{{item.icon}}</v-icon>
        </v-list-item-icon>
        <v-list-item-title>{{item.text}}</v-list-item-title>
      </v-list-item>
    </v-list>
  </v-navigation-drawer>
</template>

<script>
export default {
  name: 'MenuDrawer',

  data: () => ({
    items: [
      {
        icon: 'mdi-folder',
        text: 'Home',
        link: '/',
      },
      {
        icon: 'mdi-account-multiple',
        text: 'Starred',
        link: 'https://github.com/vuetifyjs/vuetify',
      },
      {
        icon: 'mdi-star',
        text: 'About',
        link: '/about',
      },
    ],
  }),
};
</script>

0
投票

我有一个类似的任务要完成,我能够通过以下方式完成它。 请参阅下面的代码。

    <v-list-item v-for="([icon, text, link], i) in items" 
     :key="i" 
     link 
      @click="$vuetify.goTo(link)" >

      <v-list-item-icon class="justify-center">
        <v-icon>{{ icon }}</v-icon>
      </v-list-item-icon>
      <v-list-item-content>
        <v-list-item-title class="subtitile-1">{{
          text
        }}</v-list-item-title>
      </v-list-item-content>
    </v-list-item>

根据文档,我们在项目中指定 link 属性,它将被视为执行导航的 href。 然后你就可以利用点击功能并在其中传递参数链接了。

© www.soinside.com 2019 - 2024. All rights reserved.