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>
相关推荐
QQ1__8115175157 小时前
Spring boot名城小区物业管理系统信息管理系统源码-SpringBoot后端+Vue前端+MySQL【可直接运行】
前端·vue.js·spring boot
IT枫斗者7 小时前
前端部署后如何判断“页面是不是最新”?一套可落地的版本检测方案(适配 Vite/Vue/React/任意 SPA)
前端·javascript·vue.js·react.js·架构·bug
難釋懷8 小时前
Vue混入
前端·javascript·vue.js
訾博ZiBo8 小时前
Vue3响应式高阶用法之toRaw()
javascript·vue.js·ecmascript
涵涵(互关)11 小时前
GoView各项目文件中的相关语法2
前端·javascript·vue.js
焰火199912 小时前
[Vue]可重置的响应式状态reactive
前端·vue.js
源码宝12 小时前
基于 SpringBoot + Vue 的医院随访系统:技术架构与功能实现
java·vue.js·spring boot·架构·源码·随访系统·随访管理
老王以为12 小时前
为什么 React 和 Vue 不一样?
前端·vue.js·react.js
web打印社区12 小时前
2026最新Web静默打印解决方案,无插件无预览,完美替代Lodop
前端·javascript·vue.js·electron·pdf
Forever7_14 小时前
Vue 全局监控用户行为,最强方案!
vue.js