vue-router使用方法

一、下载router

https://v3.router.vuejs.org/zh/installation.html

方式1、CDN:https://unpkg.com/vue-router@3/dist/vue-router.js
方式2、npm:npm install vue-router@版本号
查看最新版本:https://www.npmjs.com/package/vue-router?activeTab=versions

在src下面创建router,在router下新建index.js

二、引入vue-router

import Vue from 'vue'
import VueRouter from 'vue-router'
Vue.use(VueRouter)

三、代码配置

1、创建路由组件
在src下面新建views文件夹,在views文件夹下面新建组件文件
如:
Home.vue:

<template>
    <h1>I am Home.</h1>
</template>
<script>
export default {
    data(){
        return{}
    }
}
</script>

User.vue:

<template>
    <h1>I am User.</h1>
</template>
<script>
export default {
    data(){
        return{}
    }
}
</script>

在src/router/index,js中引入创建的views组件:

import Home from '../views/Home.vue'
import User from '../views/User.vue'

2、将路由与组件进行映射
src/router/index,js中:

const routes = [
    { path: '/home', component: Home },
    { path: '/user', component: User }
]

3、创建router实例,传入routes配置

const router = new VueRouter({
    routes // (缩写) 相当于 routes: routes
})

向外暴露:

export default router

4、挂载到根节点
main.js
导入:

import router from './router'

(这样写会默认自动识别该路径下的index.js文件)

挂载:

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

5、路由出口,组件渲染
App.vue修改:

<template>
  <div id="app">
    <!-- 路由出口 -->
    <!-- 路由匹配到的组件将渲染在这里 -->
    <router-view></router-view>
  </div>
</template>

四、关闭eslink校验

上述修改以后npm run serve会报错:
ERROR in [eslint]
D:\CodeWeb\web\frontend\my-app\src\views\Home.vue
1:1 error Component name “Home” should always be multi-word vue/multi-word-component-names

D:\CodeWeb\web\frontend\my-app\src\views\User.vue
1:1 error Component name “User” should always be multi-word vue/multi-word-component-names

✖ 2 problems (2 errors, 0 warnings)

webpack compiled with 1 error

这时候需要修改项目配置文件vue.config.js:

const { defineConfig } = require('@vue/cli-service')
module.exports = defineConfig({
  transpileDependencies: true,
  lintOnSave: false // 关闭eslink校验
})

五、效果

在这里插入图片描述

六、嵌套路由

1、创建主路由组件
src/views/ 下新建Main.vue:

<template>
    <h1>Main</h1>
</template>
<script>
export default {
    data(){
        return{}
    }
}
</script>

2、引入主路由组件到router
src/router/index.js 修改:
const routes = [
{ path: ‘/home’, component: Home },
{ path: ‘/user’, component: User }
]
改为:

const routes = [
    {
        //主路由
        path: '/',
        component: Main,
        children: [
            { path: '/home', component: Home },
            { path: '/user', component: User }
        ]
    }
]

3、将子路由的出口增加到主路由内
修改Main.vue,增加子路由出口:

<template>
    <div>
        <h1>Main</h1>
        <!-- 路由出口 -->
        <!-- 路由匹配到的组件将渲染在这里 -->
        <router-view></router-view>
    </div>
</template>

效果:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值