如何将VueComponent传递给$ vuetify.goTo()方法?

时间:2019-01-07 07:43:49

标签: vue.js vuetify.js

我有3个名为home,about和work的视图组件。在App.vue文件中

<v-app>
    <ToolBar />
    <v-content>
      <router-view name="home"></router-view>
      <router-view name="about"></router-view>
      <router-view> </router-view>
    </v-content>
</v-app>

router.js文件包含此文件。

export default new Router({
  mode: 'history',
  routes: [
    {
      path: '/',
      components: {
        home: Home,
        about: About
      }
    },
    {
      path: '/work',
      name: 'work',
      component: () => import('./views/work/Work.vue')
    }
  ]
})

在About.vue文件中

<template>
    <div id="about">
        <v-container>
            ....
        </v-container>
    </div>
</template>

和ToolBar.vue文件中

<v-btn @click="$vuetify.goTo('#about', options)">About</v-btn>
假设我在“ /”路线(路径)中,然后单击工具栏中的“关于”按钮。然后,按预期向下滚动到About组件。我想做的是在路线“ / work”上并单击“关于”按钮时转到首页“ /”并向下滚动到“关于”部分。

在vuetify文档中,它显示为goTo(target: string | number | HTMLElement | VueComponent, options?: object) => void

我的第一个问题是如何将Vue组件作为参数传递给goTo方法目标参数?

第二个问题是,这是否是实现我想要的行为的最佳方法?如果没有,怎么得到我期望的结果?

“英语不是我的第一语言,请为清楚起见进行编辑,然后删除此评论!”

1 个答案:

答案 0 :(得分:3)

首先,您需要在组件中设置一个ID

<about id='about'/>

从按钮中调用组件ID

<v-btn @click="$vuetify.goTo('#about')">About</v-btn>