vue 怎样实现跳转到页面指定位置?
关注者
3
被浏览
26,258
3 个回答
要在 Vue 中实现跳转到页面的指定位置,你可以使用锚点(anchor)和路由(router)的结合方式来实现。
以下是一种常见的实现方式:
- 在目标页面的 HTML 中设置锚点(anchor),例如:
htmlCopy code
<div id="section1">
<!-- section1 content -->
<div id="section2">
<!-- section2 content -->
- 在路由配置中定义对应的路由路径,例如:
javascriptCopy code
const routes = [
{ path: '/', component: Home },
{ path: '/page', component: Page },
- 在页面中添加链接,通过路由链接到目标页面,并携带锚点信息,例如:
htmlCopy code
<router-link to="/page#section1">Go to Section 1</router-link>
<router-link to="/page#section2">Go to Section 2</router-link>
-
在目标页面的组件中,使用 Vue 的生命周期钩子函数
mounted
监听路由变化,并使用 JavaScript 操作 DOM 的方式滚动到指定位置,例如:
javascriptCopy code
export default {
mounted() {
const hash = this.$route.hash;
if (hash) {
const targetElement = document.getElementById(hash.substring(1));
if (targetElement) {