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>
相关推荐
大龄码农有梦想2 小时前
Vue + BPMN.js + Camunda:搭建企业级流程设计器完整实践
javascript·vue.js·流程设计器·bpmn.js·bpmn·流程审批·工作流设计器
岁岁种桃花儿6 小时前
Vue核心语法第一篇:Vue是什么?
前端·javascript·vue.js
你挚爱的强哥8 小时前
【chromeDownload】自定义组件:多用于登录框底部提供下载Chrome谷歌浏览器的链接
前端·vue.js·chrome
daols888 小时前
vue 甘特图 vxe-gantt 任务条拖拽自动更新日期
javascript·vue.js·甘特图
java1234_小锋1 天前
Vue3专题 - 组件基础
vue.js·vite
阿懂在掘金1 天前
同一份弹窗我重构了三次:从 v-model 地狱到路由式调用,终于治好了模板臃肿
前端·vue.js·前端框架
小锋java12341 天前
【技术专题】Vue3 - 生命周期
vue.js·vite
淘源码d1 天前
从0到1搭建医院随访系统:模块拆解 + 技术选型 + 部署方案
数据库·vue.js·源码·随访
Highcharts.js1 天前
Vue 3 + Highcharts Boost 可视化加速模块的完整示例
javascript·vue.js·可视化·boost·highcharts·图表渲染·加速模块
夏幻灵1 天前
从语法坑点到 JS 内存底层:Vue 3 watch 侦听器深度全解
开发语言·javascript·vue.js