Vue基础-04

本节依旧是明歌的视频

一、路由的安装和配置

(1)在项目终端下载路由:

npm install vue-router@4

package.son可以看到整个项目的所有依赖,package-lock.json更详细一点。

下载完路由,在这里看到有router就说明安装好了。

 (2)在main.js文件配置成这样。

let routes这里面是配置路由的地址,要创建出对应的路径和文件,否则会报错。

import { createApp } from 'vue'
import './style.css'
import App from './App.vue'

//1.引入路由
import { createRouter, createWebHashHistory} from 'vue-router'


//2.路由配置
let routes = [
    { path: '/', component: () => import('../views/Login.vue') },
    { path: '/test', component: () => import('../views/Test.vue') },

]
const router = createRouter({
    history: createWebHashHistory(),//路由的形式。hash形式就是会在浏览器路径会有个#
    routes
})

//3.原来的路由的挂载:createApp(App).mount('#app'),改成下面这样
let app = createApp(App)
app.use(router)
app.mount('#app')

PS:vue3框架代码写 vbase3-setup

<template>

    <div></div>
</template>

<script setup>

</script>

<style scoped>
</style>

 (3)在APP.vue文件,配置路由的视图.这个插件里面不能加任何内容,不然页面会不显示

  <router-view></router-view>

 这样路由就配置完了。

然后发现页面有点距离,则在index.vue里面去掉所有的padding和margin的值。

 二、路由的使用

Test页面点击之后通过路由传值给Login页面。

test页面:

(1)引入路由 (2)注册路由 (3)route.push跳转

<template>
    <div>test</div>
    <div>
        <button @click="oneClick">按下天天,出现彩虹</button>
    </div>
</template>

<script setup>
//1、引入路由
// import { ref, reactive } from 'vue'
import { useRouter, useRoute } from 'vue-router'

//2、注册路由
const router = useRouter()
const route = useRoute()//获取上级路由传参

//3、使用路由跳转传值的方法
function oneClick() {
    router.push({
        path: '/',
        query: {//传参
            name: "彩虹",
            id: 1,
        },
    })

}

</script>

<style scoped>
</style>

 login接收数据的页面:

1.引入路由  2.注册路由  3.赋值到当前页面 

<template>

    <div>Login</div>
    {{ info.id }}----{{ info.name }}
</template>

<script setup>

//1、引入路由
import { useRouter, useRoute } from 'vue-router'
import { ref, reactive } from 'vue'//引入要用的模块


//2、注册路由
const router = useRouter()
const route = useRoute()//获取上级路由传参


console.log(reactive)//输出获取的数组

let info = reactive({//3.赋值到当前页面
    id: route.query.id,
    name: route.query.name,

})
</script>

<style scoped>
</style>

三、二级路由的使用

 

(1)路由跳转:1.引入路由 2.路由注册 3.写方法,使用router.oush跳转路径。

 代码

<template>
    <div>后台管理首页</div>
    <div style="display:flex">
        <div>
            <button @click="oneClick">跳转page1</button>

            <button @click="twoClick">跳转page2</button>
        </div>

        <router-view></router-view>
    </div>
</template>

<script setup>
//1、引入路由
import { useRouter, useRoute } from 'vue-router'

//2、注册路由
const router = useRouter()
const route = useRoute()//获取上级路由传参

//3、使用路由跳转传值的方法
function oneClick() {
    router.push({
        path: '/main/page1',

    })

}
function twoClick() {
    router.push({
        path: '/main/page2',

    })

}
</script>

<style scoped>
</style>

传参的方式传路由

<template>
    <div>后台管理首页</div>
    <div style="display:flex">
        <div>
            <button @click="oneClick('page1')">跳转page1</button>

            <button @click="twoClick('page2')">跳转page2</button>
        </div>

        <router-view></router-view>
    </div>
</template>

<script setup>
//1、引入路由
import { useRouter, useRoute } from 'vue-router'

//2、注册路由
const router = useRouter()
const route = useRoute()//获取上级路由传参

//3、使用路由跳转传值的方法
function oneClick(val) {
    router.push({
        path: '/main/' + val,

    })

}
function twoClick(val2) {
    router.push({
        path: '/main/' + val2,

    })

}
</script>

<style scoped>
</style>

(2)main.js的二层路由配置

let routes = [

    {
        path: '/main', component: () => import('./views/main.vue'),
        children: [{ path: '/main/page1', component: () => import('./views/Page1.vue') },
        { path: '/main/page2', component: () => import('./views/Page2.vue') }]
    },


]

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值