当前位置: 首页 > article >正文

Vue脚手架开发 Vue2基础 VueRouter的基本使用 vue-router路由案例

vue-router路由

Vue脚手架开发,创建项目:https://blog.csdn.net/c_s_d_n_2009/article/details/144973766

Vue Router,Vue Router | Vue.js 的官方路由,Vue.js 的官方路由,为 Vue.js 提供富有表现力、可配置的、方便的路由。

安装: npm i vue-router@版本,如果是vue2安装@3,如果是vue3安装@4。

简单应用案例

main.js

import Vue from 'vue'
import App from './App.vue'

// 引入VueRouter
import VueRouter from 'vue-router'
// 引入路由器
import router from './router'
// 应用插件
Vue.use(VueRouter)

import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';
Vue.use(ElementUI);

Vue.config.productionTip = false

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

router/index.js

import VueRouter from 'vue-router'
//引入组件
import About from '../components/About'
import Home from '../components/Home'

// 创建并暴露一个路由器
export default new VueRouter({
    routes: [
        {
            path: '/about',
            component: About
        },
        {
            path: '/home',
            component: Home
        }
    ],
})

components/About.vue

<template>
    <div class="hello">
        <h1>{{ msg }}</h1>
        <p style="color: #f0f;">about</p>
    </div>
</template>

<script>
export default {
    name: 'about',
    props: {
        msg: String
    }
}
</script>

components/Home.vue

<template>
    <div class="hello">
        <h1>{{ msg }}</h1>
        <p style="color: #0ff;">home</p>
    </div>
</template>

<script>
export default {
    name: 'home',
    props: {
        msg: String
    }
}
</script>

App.vue

<template>
    <div id="app">
        <router-link to="/about">About</router-link>
        |
        <router-link to="/home">Home</router-link>
        <div>
            <!-- 指定组件的呈现位置 -->
            <router-view></router-view>
        </div>
    </div>
</template>

<script>

export default {
    name: 'App',
    components: {

    }
}
</script>

路由传参和跳转

跳转时传递参数: 

// 使用查询参数(query)
this.$router.push({ name: 'User', query: { userId: 10001 } });
// 使用动态路由参数(params)
this.$router.push({ name: 'User', params: { userId: 10001 } });

跳转后接收参数:

created() {
    // 使用查询参数(query)
    console.log(this.$route.query.userId); 
    // 使用动态路由参数(params)
    console.log(this.$route.params.userId); 
}

查询参数与动态路由参数:

模板中传参:

<!-- 查询参数 -->
<router-link :to="{ name: 'User', query: { userId: 10001 } }">Go to User</router-link>
<!-- 动态路由参数 -->
<router-link :to="{ name: 'User', params: { userId: 10001 } }">Go to User</router-link>
<!-- 混合使用- ->
<router-link :to="{ name: 'User', params: { userId: 10001 }, query: { filter: 'active' } }">Go to User</router-link>


http://www.kler.cn/a/504969.html

相关文章:

  • 初始Java4
  • MYSQL学习笔记(二):SELECT基本查询
  • 怎样利用海外云手机进行引流?
  • 存储过程和触发器
  • Windows service运行Django项目
  • SpringBoot配置文件
  • 32单片机从入门到精通之安全性与可靠性——错误检测(十七)
  • cursor+deepseek构建自己的AI编程助手
  • exclude配置项详解
  • 【MySQL】mysql数据目录
  • 数据结构——概述
  • 论文略读:ASurvey of Large Language Models for Graphs
  • Redis 知识速览
  • Qiskit快速编程探索(进阶篇)
  • 计算机网络 (44)电子邮件
  • 北邮团队在Nature Medicine发表MedFound——辅助疾病诊断的通用医学语言模型|顶刊速递·25-01-15
  • npx和npm区别
  • 【Linux 36】多路转接 - epoll
  • 20250115面试鸭特训营第23天
  • C++并发编程之线程间数据划分的原则与方法
  • ASP.NET Core 中,认证(Authentication)和授权(Authorization)
  • opengauss数据库的日常运维操作
  • Android JecPack组件之LifeCycles 使用详解
  • 【开源宝藏】blade-tool AOP请求日志打印
  • 电脑玩游戏出现彩色斑点怎么回事,如何解决
  • 业务幂等性技术架构体系之消息幂等深入剖析