我有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方法目标参数?
第二个问题是,这是否是实现我想要的行为的最佳方法?如果没有,怎么得到我期望的结果?
“英语不是我的第一语言,请为清楚起见进行编辑,然后删除此评论!”
答案 0 :(得分:3)
首先,您需要在组件中设置一个ID
<about id='about'/>
从按钮中调用组件ID
<v-btn @click="$vuetify.goTo('#about')">About</v-btn>