[Vue]路由

Vue路由

Vue中的路由:路径和组件的映射关系

路由基本使用

  1. 下载 VueRouter 模块到当前工程,版本3.6.5 (vue2)

    npm i vue-router@3.6.5
  2. main.js中引入VueRouter

    import VueRouter from 'vue-router'
  3. 注册插件

    App.use(VueRouter)
  4. 创建路由对象

    const router = new VueRouter()
  5. 注入,将路由对象注入到new Vue实例中,建立关联

    // import router from '@/router/index'
    new Vue({render: h => h(App),router:router
    }).$mount('#app')
  6. 配置路由规则

    // 1. vue i vue-router@3.6.5 
    // 2. import VueRouter
    import Vue from 'vue'
    import VueRouter from 'vue-router'
    ​
    import FindMusic from '@/views/FindMusic'
    import MyMusic from '@/views/MyMusic'
    import FriendMusic from '@/views/FriendMusic'
    ​
    // 3. vue安装插件
    Vue.use(VueRouter)
    ​
    // 4.新建VueRouter对象
    const router = new VueRouter({
    // 6.配置规则routes:[{path:'/find',component:FindMusic},{path:'/my',component:MyMusic},{path:'/friend',component:FriendMusic}]
    })
    ​
    export default router
  7. 配置路由出口 <router-view>

    <div><div class="footer_wrap"><!-- 配置导航 --><!-- vue-router 提供了一个全局组件 router-link (取代 a 标签) --><!-- 1.能跳转,配置 to 属性指定路径(必须) 。本质还是 a 标签 ,to 无需 # --><!-- 2.能高亮,默认就会提供高亮类名,可以直接设置高亮样式 --><!-- router-link-active模糊匹配 router-link-exact-active精准匹配--><router-link to="/find">发现音乐</router-link><router-link to="/my">我的音乐</router-link><router-link to="/friend">朋友</router-link></div><div class="top"><!-- 配置路由出口 --><router-view></router-view></div>
    </div>

声明式导航--路由传参

  • 查询参数传参

  • 动态路由传参

查询参数传参
  • 如何传参?

    <router-link to="/path?参数名=值"></router-link>

  • 如何接受参数

    固定用法:$route.query.参数名

动态路由传参
  • 配置动态路由

    动态路由后面的参数可以随便起名,但要有语义

    const router = new VueRouter({routes: [...,{ // /search/:words  表示,必须要传参数。如果不传参数,也希望匹配,可以加个可选符"?path: '/search/:words', component: Search }]
    })
  • 配置导航链接

    to="/path/参数值"

  • 对应页面组件接受参数

    $route.params.参数名

    params后面的参数名要和动态路由配置的参数保持一致

查询参数传参 VS 动态路由传参
  1. 查询参数传参 (比较适合传多个参数)

    1. 跳转:to="/path?参数名=值&参数名2=值"

    2. 获取:$route.query.参数名

  2. 动态路由传参 (优雅简洁,传单个参数比较方便)

    1. 配置动态路由:path: "/path/:参数名"

    2. 跳转:to="/path/参数值"

    3. 获取:$route.params.参数名

    注意:动态路由也可以传多个参数,但一般只传一个

重定向
{ path: 匹配路径, redirect: 重定向到的路径 },
比如:
{ path:'/' ,redirect:'/home' }
404

配置在其他路由规则的最后面\

path: "*" (任意路径) – 前面不匹配就命中最后这个

import NotFind from '@/views/NotFind'
​
const router = new VueRouter({routes: [...{ path: '*', component: NotFind } //最后一个]
})

编程式导航--两种路由跳转

编程式导航:用JS代码来进行跳转

两种语法:

  • path 路径跳转 (简易方便)

  • name 命名路由跳转 (适合 path 路径长的场景)

path路径跳转

特点:简易方便

//简单写法
this.$router.push('路由路径')
//完整写法
this.$router.push({path: '路由路径'
})

传参:

  • query传参

//简单写法
this.$router.push('/路径?参数名1=参数值1&参数2=参数值2')
//完整写法
this.$router.push({path: '/路径',query: {参数名1: '参数值1',参数名2: '参数值2'}
})
  • 动态路由传参

//简单写法
this.$router.push('/路径/参数值')
//完整写法
this.$router.push({path: '/路径/参数值'
})
name 命名路由跳转

特点:适合 path 路径长的场景

  • 路由规则,必须配置name配置项

    { name: '路由名', path: '/path/xxx', component: XXX },

  • 通过name来进行跳转

    this.$router.push({name: '路由名'
    })

传参:

  • query传参

this.$router.push({name: '路由名字',query: {参数名1: '参数值1',参数名2: '参数值2'}
})
  • 动态路由传参

this.$router.push({name: '路由名字',params: {参数名: '参数值',}
})

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/754158.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

机器学习----特征缩放

目录 一、什么是特征缩放&#xff1a; 二、为什么要进行特征缩放&#xff1f; 三、如何进行特征缩放&#xff1a; 1、归一化&#xff1a; 2、均值归一化&#xff1a; 3、标准化&#xff08;数据需要符合正态分布&#xff09;&#xff1a; 一、什么是特征缩放&#xff1a; 通…

Python 基于 OpenCV 视觉图像处理实战 之 OpenCV 简单实战案例 之二 素描画风格效果

Python 基于 OpenCV 视觉图像处理实战 之 OpenCV 简单实战案例 之二 素描画风格效果 目录 Python 基于 OpenCV 视觉图像处理实战 之 OpenCV 简单实战案例 之二 素描画风格效果 一、简单介绍 二、素描画风格效果实现原理 三、案例简单实现步骤 一、简单介绍 Python是一种跨…

react native 实现自定义底部导航与路由文件配置

首先先把需要的一些库引入 yarn install react-navigation/native yarn install react-native-screens react-native-safe-area-context yarn install react-navigation/native-stack yarn add react-navigation/bottom-tabs 创建路由文件及四个底部导航页面 router文件下的bot…

opengl使用着色器的示例程序

使用了glew库和freeglut库 #include <GL/glew.h> #include <GL/freeglut.h> #include <iostream>// 窗口大小 const GLint WIDTH = 800, HEIGHT = 600;

python 深度学习 记录遇到的报错问题12

本篇继python 深度学习 记录遇到的报错问题11_undefined symbol: __nvjitlinkadddata_12_1, version-CSDN博客 目录 一、AttributeError: module ‘tensorflow‘ has no attribute ‘app‘ 二、AttributeError: module tensorflow has no attribute placeholder 三、Attribu…

pytorch升级打怪(八)

保存模型和加载已有模型 保存并加载模型保存加载 保存并加载模型 在本节中&#xff0c;我们将研究如何通过保存、加载和运行模型预测来保持模型状态。 import torch import torchvision.models as models保存 PyTorch模型将学习的参数存储在内部状态字典中&#xff0c;称为s…

掘根宝典之C++RTTI和类型转换运算符

什么是RTTI RTTI是运行阶段类型识别的简称。 哪些是RTTI? C有3个支持RTTI的元素。 1.dynamic_cast运算符将使用一个指向基类的指针来生成一个指向派生类的指针&#xff0c;否则该运算符返回0——空指针。 2.typeid运算符返回一个指出对象类型的信息 3.type_info结构存储…

后端配置拦截器的一个问题【问题】

后端配置拦截器的一个问题【问题】 前言版权后端配置拦截器的一个问题问题解决 最后 前言 2024-3-14 00:07:28 以下内容源自《【问题】》 仅供学习交流使用 版权 禁止其他平台发布时删除以下此话 本文首次发布于CSDN平台 作者是CSDN日星月云 博客主页是https://jsss-1.blog…

el-form 的表单校验,如何验证某一项或者多项;validateField 的使用

通常对form表单的校验都是整体校验&#xff1a; this.$refs.form.validate( valid > {if (valid) {// 校验通过&#xff0c;业务逻辑代码...} }); 如果需要对表单里的特定一项或几项进行校验&#xff0c;应该如何实现&#xff1f; 业务场景&#xff1a;下图点探测按钮时…

Python 井字棋游戏

井字棋是一种在3 * 3格子上进行的连珠游戏&#xff0c;又称井字游戏。井字棋的游戏有两名玩家&#xff0c;其中一个玩家画圈&#xff0c;另一个玩家画叉&#xff0c;轮流在3 * 3格子上画上自己的符号&#xff0c;最先在横向、纵向、或斜线方向连成一条线的人为胜利方。如图1所示…

【数据可信流通,从运维信任到技术信任】

1. 数据可信流通体系 信任的基石&#xff1a; 身份的可确认利益可依赖能力有预期行为有后果 2.内循环——>外循环 内循环&#xff1a;数据持有方在自己的运维安全域内队自己的数据使用和安全拥有全责。 外循环&#xff1a;数据要素在离开持有方安全域后&#xff0c;持有方…

蓝桥杯刷题(六)

[蓝桥杯 2022 省 A] 求和 题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1 提示代码题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1 提示代码 题目描述 给定 n n n 个整数 a 1 , a 2 , ⋯ , a n a_{1}, a_{2}, \cdots, a_{n} a1​,a2​,⋯,an​, 求它们两两…

Linux内存管理笔记----TLB

1. TLB介绍 TLB是Translation Lookaside Buffer的简称&#xff0c;可翻译为“地址转换后援缓冲器”&#xff0c;也可简称为“快表”。 简单地说&#xff0c;TLB就是页表的Cache&#xff0c;属于MMU的一部分&#xff0c;其中存储了当前最可能被访问到的页表项&#xff0c;其内…

Java 文件处理完全指南:创建、读取、写入和删除文件详细解析

Java 文件操作 文件处理简介 文件处理是任何应用程序的重要部分。Java 提供了许多用于创建、读取、更新和删除文件的方法。 Java 文件处理 Java 中的文件处理主要通过 java.io 包中的 File 类完成。该类允许我们处理文件&#xff0c;包括创建、读取、写入和删除文件。 创建…

总是很困怎么办

总是感到困倦可能是由多种原因导致的&#xff0c;如睡眠不足、营养不足、健康问题或压力过大等。以下是一些建议&#xff0c;帮助你缓解困倦感&#xff1a; 保证充足睡眠&#xff1a; 确保每晚获得足够的睡眠时间&#xff0c;成年人通常需要7至9小时的睡眠。建立一个规律的睡眠…

Answer.AI开启家用70亿参数模型训练新篇章

Answer.AI开启家用70亿参数模型训练新篇章 摘要 2024年3月6日&#xff0c;Answer.AI推出首个项目&#xff1a;一套开源系统&#xff0c;首次实现在家用台式机上&#xff0c;仅需两块标准游戏GPU&#xff08;RTX 3090或4090&#xff09;&#xff0c;高效训练70亿大型语言模型。…

[leetcode ~dp ]279. 完全平方数

给你一个整数 n &#xff0c;返回 和为 n 的完全平方数的最少数量 。 完全平方数 是一个整数&#xff0c;其值等于另一个整数的平方&#xff1b;换句话说&#xff0c;其值等于一个整数自乘的积。例如&#xff0c;1、4、9 和 16 都是完全平方数&#xff0c;而 3 和 11 不是。 …

2023年度VSCode主题推荐(个人常用主题存档)

前言 早在2018年的时候发了一篇关于VSCode主题风格推荐——VS Code 主题风格设置&#xff0c;时过境迁&#xff0c;如今常用的主题皮肤早已更替。 今天下午在整理VSCode插件的时候&#xff0c;不小心把常用的那款&#xff08;亮色&#xff09;主题插件给删除了&#xff0c;无…

202444读书笔记|《作家榜名著:菜根谭》——大聪明的人,小事必朦胧,大懵懂的人,小事必伺察

202444读书笔记|《作家榜名著&#xff1a;菜根谭》——大聪明的人&#xff0c;小事必朦胧&#xff0c;大懵懂的人&#xff0c;小事必伺察 修省篇&#xff08;三八则&#xff09;应酬篇&#xff08;五一则&#xff09;评议篇&#xff08;四八则&#xff09;闲适篇&#xff08;四…

添可、希亦、追觅洗地机好不好用?实物终极PK测评分享!

随着人们对家庭生活品质的追求不断地提高&#xff0c;对智能清洁家电的需求也不断地上涨。作为在智能清洁家电领域的资深研究员&#xff0c;结合我八年的使用经验以及专业的眼光&#xff0c;今天就给大家一起来聊聊希亦、追觅、添可洗地机好不好用&#xff0c;以及三款洗地机产…