【问题标题】:how to stay on same route in vuejs after page reload when running vuejs project in dev mode on some port?在某些端口上以开发模式运行 vuejs 项目时,如何在页面重新加载后在 vuejs 中保持相同的路线?
【发布时间】:2025-12-28 23:55:06
【问题描述】:

我在router.ts 有这两条路线:

export default new Router({
    mode: "history",
    routes: [
        { path: "/", component: require("./components/dashboard/Dashboard.vue")},
        { path: "/counter", component: require("./components/counter/Counter.vue") }
    ],
});

Vue.use((Router) as any);

现在当我直接在浏览器中访问http://localhost:5000/counter 时,我得到了“/”路由?页面重新加载时也会发生同样的情况。如果我这样去柜台:

<router-link to="/counter">Counter</router-link>

然后重新加载,我看不到counter 页面,但默认路由。 这是在 localhost 上,因此不涉及 nginx 等,如下所述:https://router.vuejs.org/en/essentials/history-mode.html

【问题讨论】:

  • 这可能吗?或者这是 vujes 的自然行为?

标签: javascript vue.js


【解决方案1】:

虽然,它不应该发生,但我认为 vue-router 中的 exact 属性可以帮助你,试试:

<router-link to="/counter" exact>Counter</router-link>

【讨论】:

  • 同样的事情。只是在刷新或直接输入 url 时转到“/”。
  • 我的项目中可能存在某些问题。我需要进一步调试。
  • 您确定要将路由器实例传递给 vue 吗?你的 main.js 或 routes.js 怎么样(如果有的话?)
  • Vue.use((Router) as any);
  • 通常是 VueRouter 但也差不多。