You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vue Router中与window.location.href等效的无刷新页面跳转方法是什么?

Vue SPA 实现无刷新页面跳转(避免缓存丢失)

在Vue单页应用(SPA)里,用window.location.href会触发整页刷新,导致内存中的缓存数据丢失,正确的做法是使用Vue Router提供的导航能力,它能在不刷新页面的前提下更新视图。

一、声明式导航(适合模板内直接跳转)

用Vue Router内置的<router-link>组件,这是最直接的无刷新跳转方式:

<!-- 在模板中使用,点击后跳转到/subpage -->
<router-link to="/subpage">前往子页面</router-link>

这个组件会自动拦截原生的a标签跳转行为,通过Vue Router更新路由视图,不会刷新页面。

二、编程式导航(适合逻辑代码中触发跳转)

如果需要在操作完成后(比如表单提交、数据处理完成)跳转,用Vue Router的编程式导航方法:

Vue 2 / Options API

// 组件内的方法中调用
handleOperation() {
  // 执行你的业务操作(比如更新缓存)
  // ...
  
  // 跳转到目标页面
  this.$router.push('/subpage')
}

Vue 3 / Composition API

import { useRouter } from 'vue-router'

export default {
  setup() {
    const router = useRouter()

    const handleOperation = () => {
      // 执行业务操作
      // ...
      
      // 跳转
      router.push('/subpage')
    }

    return { handleOperation }
  }
}

三、基础路由配置(如果还没配置Vue Router)

如果你的小型Vue应用还没集成Vue Router,先完成基础配置:

Vue 3 示例

// router/index.js
import { createRouter, createWebHistory } from 'vue-router'
import Subpage from '../views/Subpage.vue'

const routes = [
  {
    path: '/subpage',
    component: Subpage
  }
]

const router = createRouter({
  history: createWebHistory(), // 无#号的HTML5 History模式
  routes
})

export default router

然后在入口文件挂载:

// main.js
import { createApp } from 'vue'
import App from './App.vue'
import router from './router'

createApp(App).use(router).mount('#app')

Vue 2 示例

// router/index.js
import Vue from 'vue'
import VueRouter from 'vue-router'
import Subpage from '../views/Subpage.vue'

Vue.use(VueRouter)

const routes = [
  {
    path: '/subpage',
    component: Subpage
  }
]

const router = new VueRouter({
  mode: 'history', // HTML5 History模式
  routes
})

export default router

入口文件挂载:

// main.js
import Vue from 'vue'
import App from './App.vue'
import router from './router'

new Vue({
  router,
  render: h => h(App)
}).$mount('#app')

关键原理

Vue Router通过监听浏览器的HTML5 History API(或hash变化)来更新路由对应的组件视图,整个过程不会触发浏览器的页面刷新,因此内存中的缓存数据会被保留。

内容的提问来源于stack exchange,提问作者Maik Lowrey

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 06:37:08