Vue2和Vue3创建路由

Vue2创建路由

1、安装vue-router依赖模块

npm install vue-router

2、 在main.js中,需要明确安装路由功能

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

3、定义组件

这里使用从其他文件import进来

import index from './components/index.vue'
import hello from './components/hello.vue'

4、定义路由

const routes = [
    { path: '/index',
     component: index
    },
    { path: '/hello', 
    component: hello 
    }
]

5、创建 router 实例,然后传 routes 配置

const router = new VueRouter({
  routes
})

6、创建和挂载根实例

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

经过上面的配置之后呢,路由匹配到的组件将会渲染到App.vue里的<router-view></router-view>

那么这个App.vue里应该这样写:

<template>
  <div id="app">
        <router-view></router-view>
  </div>
</template>

index.html里呢要这样写:

<body>
    <div id="app"></div>
</body>

7、路由信息对象

(1)$route.path
        字符串,对应当前路由的路径,总是解析为绝对路径,如 "/foo/bar"。
(2)$route.params
        一个 key/value 对象,包含了动态片段和全匹配片段,如果没有路由参数,就是一个空对象。
(3)$route.query
        一个 key/value 对象,表示 URL 查询参数。例如,对于路径 /foo?user=1,则有         $route.query.user == 1,如果没有查询参数,则是个空对象。
(4)$route.hash
        当前路由的 hash 值 (不带 #) ,如果没有 hash 值,则为空字符串。
(5)$route.fullPath
        完成解析后的 URL,包含查询参数和 hash 的完整路径。
(6)$route.matched
        一个数组,包含当前路由的所有嵌套路径片段的 路由记录 。

        路由记录就是 routes 配置数组中的对象副本(还有在 children 数组)。

Vue3创建路由

1、安装vue-router依赖模块

npm install vue-router

2、src目录下创建router/index.js文件,并创建views文件夹,再创建一个Home.vue和User.vue文件测试

(1)router/index.js

import { createWebHistory, createRouter } from "vue-router";
import Home from '../views/Home.vue';
import User from '../views/User.vue';
const history = createWebHistory();
const router = createRouter({
history,
routes: [{
    path: '/',
    name:'home',
    component: Home
    },
    {
    path: '/user',
    name:'user',
    component: User
    }]
})
export default router;

(2)Home.vue

<template>
    <div>首页</div>
</template>
<script>
    export default {
    
    }
</script>
<style >

</style>

(3)User.vue

<template>
    <div>user</div>
</template>
<script>
    export default {

    }
</script>
<style >

</style>

(4)main.js导入router

import { createApp } from 'vue'
import App from './App.vue'
import router from './router'
createApp(App).use(router).mount('#app')

(5)App.vue添加< router-view></ router-view >

<template>
    <div id="app">
        <h1>在vue3里面使用Router</h1>
        <router-link to="/">首页</router-link>|
        <router-link to="/user">用户</router-link>
        <router-view></router-view>
    </div>
</template>
<script>
export default {

    }
</script>
<style>

</style>

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值