Router_编程式路由

安装路由的依赖

Add.vue

clike 复制代码
<script setup>

</script>

<template>
  <div>
    <h1> Add </h1>
  </div>
</template>

<style scoped>

</style>

Home.vue

clike 复制代码
<script setup>

</script>

<template>
  <div>
    <h1> Home </h1>
  </div>
</template>

<style scoped>

</style>

List.vue

clike 复制代码
<script setup>

</script>

<template>
  <div>
    <h1> List </h1>
  </div>
</template>

<style scoped>

</style>

Update.vue

clike 复制代码
<script setup>

</script>

<template>
  <div>
    <h1> Update </h1>
  </div>
</template>

<style scoped>

</style>

router.js

clike 复制代码
// 导入创建路由的相关方法
import Home from '../components/Home.vue'
import List from '../components/List.vue'
import Update from '../components/Update.vue'
import Add from '../components/Add.vue';
import { createRouter,createWebHashHistory} from 'vue-router'
const router = createRouter({
    history:createWebHashHistory(),
    routes:[
        {
            path:"/",
            component:Home
        },
        {
            path:"/home",
            component:Home
        },
        {
            path:"/list",
            component:List
        },
        {
            path:"/add",
            component:Add
        },
        {
            path:"/update",
            component:Update
        }
    ]




})




export default router

main.js

clike 复制代码
import { createApp } from 'vue'


import App from './App.vue'

import router from './routers/router.js'

const app = createApp(App)

app.use(router)
app.mount('#app')

App.vue

clike 复制代码
<script setup>
import {useRouter} from 'vue-router'
const router = useRouter()
function showList(){
  router.push("/list")
  router.push({path:"/list"})
  
}

</script>

<template>
  <div>
   
   <!-- 声明式路由 -->
    <router-link to="/home">home页</router-link><br>
    <router-link to="/list">list页</router-link><br>
    <router-link to="/update">update页</router-link><br>
    <router-link to="/add">add页</router-link><br>

    <!-- 编程式路由 -->
    <button @click="showList()">list</button>

    


    <hr>
    <router-view></router-view>
  </div>



</template>

<style scoped>

</style>

更改App.vue

clike 复制代码
<script setup>
import {useRouter} from 'vue-router'
import {ref} from 'vue'
const router = useRouter()

let myPath = ref("")

function goMyPage(){
  router.push(myPath.value)
}

</script>

<template>
  <div>
   
   <!-- 声明式路由 -->
    <router-link to="/home">home页</router-link><br>
    <router-link to="/list">list页</router-link><br>
    <router-link to="/update">update页</router-link><br>
    <router-link to="/add">add页</router-link><br>

    <!-- 编程式路由 -->
    <button @click="goMyPage()">Go</button><input type="text" v-model="myPath">

    


    <hr>
    <router-view></router-view>
  </div>



</template>

<style scoped>

</style>
相关推荐
计算机毕设VX:Fegn089520 小时前
计算机毕业设计|基于springboot + vue球鞋购物系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计
东东51620 小时前
校园短期闲置资源置换平台 ssm+vue
java·前端·javascript·vue.js·毕业设计·毕设
悟能不能悟20 小时前
VUE的国际化,怎么实现
前端·javascript·vue.js
Mr Xu_20 小时前
解决 Vue + Axios 热更新导致响应拦截器重复注册的问题
前端·javascript·vue.js
a11177621 小时前
实验室预约管理系统(开源 FastAPI + Vue )
vue.js·开源·fastapi
我是伪码农21 小时前
Vue 2.2
前端·javascript·vue.js
时光追逐者21 小时前
一个基于 .NET + Vue 实现的通用权限管理平台(RBAC模式),前后端分离模式,开箱即用!
前端·vue.js·c#·.net·.net core
Aotman_21 小时前
Vue el-table 表尾合计行
前端·javascript·vue.js·elementui·前端框架·ecmascript
编程猪猪侠21 小时前
Vue3 + Ant Design Vue 实现 Table 表格嵌套 Radio 单选框
javascript·vue.js·anti-design-vue
phltxy21 小时前
Vue3 + Vite:从入门到实战——核心指令全解析
vue.js·vue