【问题标题】:[Vue Router warn]: Error with push/replace State TypeError: history[(intermediate value)(intermediate value)(intermediate value)] is not a function[Vue Router warn]:推送/替换状态错误类型错误:历史[(中间值)(中间值)(中间值)]不是函数
【发布时间】:2022-12-08 02:23:55
【问题描述】:

我正在尝试设置 vue 路由器 (Vue 3 + Vue Router 4),但我不断收到以下错误:

[Vue Router warn]: Error with push/replace State TypeError: history[(intermediate value)(intermediate value)(intermediate value)] is not a function

[Vue Router warn]: Unexpected error when starting the router: TypeError: Cannot read properties of null (reading 'back')

Uncaught TypeError: Cannot read properties of null (reading 'back')

这是我的 main.ts:

import { createApp } from "vue";
import App from "./App.vue";
import store, { storeKey } from "./store/index";

// styling
import "./scss/base.scss";
import router from "./router";

createApp(App).use(router).use(store, storeKey).mount("#app");

这是我的 router.ts 文件:

import {
  createRouter,
  createWebHashHistory,
  Router,
  RouteRecordRaw,
} from "vue-router";
import Home from "@/components/Home.vue";
import FetchInfo from "@/components/FetchInfo.vue";

const routes: RouteRecordRaw[] = [
  {
    path: "/",
    name: "Home",
    component: Home,
  },
  {
    path: "/requests",
    name: "Requests",
    component: FetchInfo,
  },
];

const router: Router = createRouter({
  history: createWebHashHistory(),
  routes,
});

export default router;

我该如何解决上述错误?

我正在使用以下版本:

  • "vue": "^3.2.13",
  • "vue-router": "^4.0.15",
  • "webpack": "^5.72.1",
  • “webpack-dev-server”:“^4.9.0”

【问题讨论】:

  • 你有没有找到解决办法?
  • @dotNET 是的,我最终这样创建了路由器: const router: Router = createRouter({ history: createMemoryHistory(), routes, });

标签: typescript vue.js vue-router


【解决方案1】:

以防万一有人登陆这里并将 Vue Router 与 Office.js 一起使用,请注意 Office.js 代码中存在一个错误,它将 window.history.replaceStatewindow.history.pushState 设置为 null,这会导致 Vue Router 中断并抛出 OP 中提到的错误。就我而言,它还导致页面不断快速连续地重新加载。

截至 2022 年 12 月,相关问题和 PR 可用here,等待合并。

【讨论】:

    【解决方案2】:

    以下位解决了问题:

    常量路由器:路由器= createRouter({历史:createMemoryHistory(),路线, });

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-08-20
      • 1970-01-01
      • 1970-01-01
      • 2017-05-12
      • 1970-01-01
      • 1970-01-01
      • 2015-10-16
      • 2020-05-23
      相关资源
      最近更新 更多