vue.js - [Vue路由器警告] : No match found for location with path

标签 vue.js vue-router

这是我的 app.js 文件,

import "./bootstrap";
import { createApp } from "vue";
import router from "./routes";

import App from "./App.vue";

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

这是我的 route.js 文件,

import { createRouter, createWebHistory } from "vue-router";
import App from "./views/Main.vue";
import Login from "./views/Login.vue";

const router = createRouter({
    history: createWebHistory(),
    routes: [
        {
            route: "/",
            name: "Home",
            component: App,
        },
        {
            route: "/login",
            name: "Login",
            component: Login,
        },
    ],
});

export default router;

这是我的 App.vue 文件,

<template>
    <RouterLink to="/">Home</RouterLink>
    <RouterLink to="/login">Login</RouterLink>
    <RouterView />
</template>

<script setup>
import { RouterLink, RouterView } from "vue-router";
</script>

这就是我的文件的位置,

enter image description here

我猜我已经正确定义了路线。但它在控制台中向我抛出一个错误,显示 [Vue Router warn]: No match found for location with path "/login" 。并且页面无法加载。

最佳答案

I have defined the routes correctly I guess.

快到了。但这不是路线:

{
  route: "/login",
  name: "Login",
  component: Login,
}

这是路径:

{
  path: "/login",
  name: "Login",
  component: Login,
}

参见Getting Started .

关于vue.js - [Vue路由器警告] : No match found for location with path,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72906190/

相关文章:

javascript - VueJS如何在使用下拉选择时过滤数组数据

javascript - vue.js:当数组改变时 v-for 不会重新渲染内容

vue.js - 如何在 vuejs 中通过 <router-link/> 将 props 传递给命名 View ?

javascript - 我如何让 Vue Router beforeLeave 开火?

javascript - 为什么组件 props 未定义(vue 路由器)

javascript - 如何将所有 Vue.js 路由、模板和组件合并到一个文件中?

typescript - Vue + VUEX + typescript + Vue 路由器。组件未被销毁

cordova - 如何根据它是在 Cordova 还是 Electron 中构建来切换我在应用程序中显示的 Vue 组件?

vue.js - 在 VueJS 上递归发送 HTTP 请求

vue.js - 如何销毁/卸载 vue.js 3 组件?