美文网首页
Vue3 路由

Vue3 路由

作者: myjourney | 来源:发表于2023-02-26 11:17 被阅读0次

    一、使用问题汇总:

    1.报错 :error 'router' is assigned a value but never used no-unused-vars:

     error  'router' is assigned a value but never used  no-unused-vars
    

    原因:

    发现是在package.json文件中自动生成了eslint,而配置项的rules为空,所以就报了:routes’被分配了一个值,但从未使用过无未使用的变量 的错误。

    router错误01.png

    在rules中配置 "no-unused-vars": "off" 解决(关闭提示)

    router错误01解决.png

    2. router-link to 不起作用,路由不生效

    配置router错误02.png

    原因排查:

    • vue-router没有安装成功
      原本的安装方法:
    npm install vue-router@4
    

    没有安装成功,更换成:

    npm i vue-router@next
    
    • 没有正确引入 VueRouter
      在使用 Vue Router 时,需要正确引入 VueRouter 模块。如果没有正确引入该模块,那么就无法正确使用 VueRouter,导致 <router-link> 组件无法正确生成 href 属性。例如:
    import Vue from 'vue'
    import VueRouter from 'vue-router'
    
    Vue.use(VueRouter)
    
    const router = new VueRouter({
      routes: [
        // 路由配置
      ]
    })
    
    new Vue({
      router,
      // 组件等配置
    }).$mount('#app')
    
    

    添加:import VueRouter from 'vue-router'后成功。

    • 注意:看其他人的代码并没有要特意添加"import VueRouter from 'vue-router' ",笔者在运行成功后删掉这一行代码也依然有效。猜测是因为一开始安装没有成功,导致的。

    二、使用方法

    Vue 3 提供了一个官方的路由库 vue-router@4 来管理单页应用程序(SPA)的路由。Vue Router 是一个独立的库,需要单独安装和配置。下面是 Vue Router 的基本用法:

    1. 安装 Vue Router
      可以通过 npm 来安装 Vue Router:
    npm install vue-router@4
    
    1. 创建路由器
      创建一个路由器,并配置路由规则,示例如下:
    import { createRouter, createWebHistory } from 'vue-router'
    
    const router = createRouter({
      history: createWebHistory(),
      routes: [
        { path: '/', component: Home },
        { path: '/about', component: About }
      ]
    })
    
    

    上面的代码中,我们首先通过 createRouter 函数创建了一个路由器对象 router,并通过 createWebHistory 创建了一个基于 HTML5 History API 的路由模式。然后我们配置了两个路由规则:/ 对应 Home 组件,/about 对应 About 组件。

    1. 注册路由器
      我们需要在 Vue 应用程序中注册路由器对象 router,并将其作为 createApp 函数的参数。示例如下:
    import { createApp } from 'vue'
    import App from './App.vue'
    import { router } from './router'
    
    const app = createApp(App)
    app.use(router)
    app.mount('#app')
    
    

    在上面的代码中,我们首先创建了一个 Vue 应用程序,并将 App 组件作为根组件。然后我们通过 app.use(router) 注册了路由器对象 router,使路由器成为 Vue 应用程序的插件。最后我们通过 app.mount('#app') 将应用程序挂载到 #app 元素中。

    1. 配置路由链接
      在 Vue 组件中,我们可以使用 router-link 组件来配置路由链接。router-link 组件会自动渲染成一个带有 href 属性的 <a> 标签,使用户能够通过点击链接来导航到不同的页面。

    以下是一个使用 router-link 的示例:

    <template>
      <div>
        <router-link to="/">Home</router-link>
        <router-link to="/about">About</router-link>
        <router-view></router-view>
      </div>
    </template>
    
    

    在上面的代码中,我们通过 <router-link> 组件创建了两个路由链接,分别指向 / 和 /about。当用户点击链接时,Vue Router 会自动将 URL 更新为对应的路由规则,然后渲染出对应的组件。通过 <router-view> 组件可以渲染出对应的路由组件。

    这是 Vue Router 的一个简单用法示例,Vue Router 还提供了很多其他功能,例如路由守卫、动态路由、嵌套路由等,可以根据实际需求来使用。

    相关文章

      网友评论

          本文标题:Vue3 路由

          本文链接:https://www.haomeiwen.com/subject/tqzqldtx.html