VueRouter使用,界面切换

一、安装

vue-router@3,@4分别对应vue2,3.。我现在用的是vue2,

npm install vue-router@3

在这里插入图片描述

二、使用

①首先在component路径下提前写好需要渲染的组件。

在这里插入图片描述
②在App.vue中使用router声明路由。其中router-link的to指明渲染哪一个组件。router-view是一个占位符,每次需要渲染的组件就放在这个占位符这。

<div id="app">
    <h1>APP组件</h1>
    <router-link to="/discover">发现音乐</router-link><br>
    <router-link to="/my">我的音乐</router-link><br>
    <router-link to="/friends">关注</router-link><br>
    <router-link to="/barry">Barry</router-link>
    <!-- 声明路由占位标签 -->
    <!-- 每次点击组件时会渲染到router-view占位符 -->
    <router-view></router-view>
  </div>

③现在只是指明了要渲染哪个组件,但是这些名字和具体的component还没有对应上,需要有专门的js写映射。

index.js

//在js里面定义对应关系
import VueRouter from "vue-router"
import Vue from "vue"
import Discover from "@/components/Discover.vue"
import Friends from "@/components/Friends.vue"
import My from "@/components/My.vue"
import Barry from "@/components/Barry.vue"


//将VueRouter设置为Vue插件
Vue.use(VueRouter)

const router = new VueRouter({
    routes:[
        {path:"/",redirect:"/discover"},
        {path:"/discover",component:Discover},
        {path:"/friends",component:Friends},
        {path:"/my",component:My},
        {path:"/barry",component:Barry}
    ]
})

//把router导出,在main.js中使用
export default router

④在main.js中配置一下。

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

//导入router
import router from "./router/index"
Vue.config.productionTip = false

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

三、路由嵌套

在Discover.vue中加两个孩子路由

<div>
        <h1>发现音乐</h1>
        <!-- 子路由 -->
        <router-link to="/discover/toplist">推荐</router-link>
        <router-link to="/discover/playlist">歌单</router-link>
        <hr>
        <router-view></router-view>
    </div>

和之前的操作一样,要在component下写好对应的组件文件,唯一有区别的就是在index.js的Discover下写好孩子路由。
在这里插入图片描述

四、动态路由

就是说有一个组件会被使用多次,例如音乐推荐里面用的组件都是同一个,只是值不一样,这个时候不能手动的一个个去写路径。直接使用动态路由即可。

例如我需要展示的是三个卡片,按理说我的index.js也要写多个路径。(其实感觉能用for循环)

<div>
        <h1>我的音乐</h1>
        <router-link to="/my/1">收藏1</router-link>
        <router-link to="/my/2">收藏2</router-link>
        <router-link to="/my/3">收藏3</router-link>
        <router-view></router-view>
    </div>

实际上使用":id"即可

{path:"/my",
        component:My,
        children:[
            {path:":id",component:MusicCard,props: true}
        ]
        
    },

除此之外呢,注意到上面的代码中有个props:true的参数,这里是为了让MusicCard组件接收到id参数,因为我们在具体的使用中网络请求肯定会请求一系列的数据都要基于id。在MusciCard组件中声明id就能直接使用了。

<template>
    <div>
        <h3>收藏音乐{{ id }}</h3>
    </div>
</template>


<script>
    export default{
        props:["id"]
    }
</script>

五、路由守卫

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

企业鸿蒙原生应用元服务备案实操基本材料要求

一、要提前准备的主要材料包括 域名&#xff0c;服务器&#xff0c;包名&#xff0c;公钥&#xff0c;MD5值&#xff0c;法人身份证正反两面&#xff0c;邮箱&#xff0c;手机号2个。 域名是备案过的&#xff0c;应为要求域名能打开&#xff0c;还要悬挂备案号。 操作时要提前沟…

【从浅学到熟知Linux】进程状态与进程优先级(含进程R/S/T/t/D/X/Z状态介绍、僵尸进程、孤儿进程、使用top及renice调整进程优先级)

&#x1f3e0;关于专栏&#xff1a;Linux的浅学到熟知专栏用于记录Linux系统编程、网络编程及数据库等内容。 &#x1f3af;每天努力一点点&#xff0c;技术变化看得见 文章目录 进程状态进程状态查看R运行状态&#xff08;running&#xff09;S睡眠状态&#xff08;sleeping&a…

CentOS安装MeterSphere并实现无公网IP远程访问本地测试平台

文章目录 前言1. 安装MeterSphere2. 本地访问MeterSphere3. 安装 cpolar内网穿透软件4. 配置MeterSphere公网访问地址5. 公网远程访问MeterSphere6. 固定MeterSphere公网地址 前言 MeterSphere 是一站式开源持续测试平台, 涵盖测试跟踪、接口测试、UI 测试和性能测试等功能&am…

电脑出现正在清理已完成100%,出现正在清理已完成0%,正在准备windows请不要关闭你的计算机,电脑出现dell图标,下方没有小的旋转圆圈

1.开机发现停留在dell图标。在正上方。和平时不一样。下方没有小的旋转圆圈 2.长按电源键5秒重启 3.电脑重启后。显示正在准备windows请不要关闭你的计算机 4.电脑自动重启 5.电脑出现正在清理已完成0%&#xff0c;等了大概十几分钟 6.电脑出现正在清理已完成100%&#xff0c;等…

图片尺寸在线怎么修改大小?利用图片在线处理工具解决

在社交媒体平台上分享照片是我们日常生活中常见的活动之一。有时&#xff0c;我们需要调整照片的尺寸以适应社交媒体平台的要求。在线修改图片尺寸的工具可以帮助我们快速调整照片的大小&#xff0c;确保其在社交媒体上显示完整且美观。 压缩图网站&#xff0c;点击“图片改大…

Operation is not supported on this platform.

.net core 中&#xff1a; Action<string> action this.DoSome; action.BeginInvoke("button1_Click", null,null);执行报错&#xff1a; System.PlatformNotSupportedException:“Operation is not supported on this platform.”原因&#xff1a; .NET C…

基于YOLOv8的光栅检测系统(Python源码+Pyqt6界面+数据集)

&#x1f4a1;&#x1f4a1;&#x1f4a1;本文摘要&#xff1a;基于YOLOv8的光栅检测系统&#xff0c;并阐述了整个数据制作和训练可视化过程&#xff0c;最后通过Pyside UI界面进行展示。 博主简介 AI小怪兽&#xff0c;YOLO骨灰级玩家&#xff0c;1&#xff09;YOLOv5、v7、…

网络IO模型以及实际应用

网络IO模型 本文主要介绍了几种不同的网络IO模型&#xff0c;以及实际应用中使用到的Reactor模型等。 我们常说的网络IO模型&#xff0c;主要包含阻塞IO、非阻塞IO、多路复用IO、信号驱动IO、异步IO。 根据第一个阶段&#xff1a;是否需要阻塞&#xff0c;分为阻塞和非阻塞IO。…

BMS系统必要参数介绍

系统参数打印解释 (1)Battery Real Capacity:表示电池实际容量值&#xff08;额定容量值是出厂给的&#xff0c;SOH电池健康度计算也可以用实际值/额定值&#xff09; (2)Battery Remain Capacity&#xff1a;表示电池剩余容量值 (3)Battery SOC&#xff1a;电池剩余容量百分比…

头歌-机器学习 第12次实验 Adaboost算法

第1关&#xff1a;什么是集成学习 任务描述 本关任务&#xff1a;根据本节课所学知识完成本关所设置的选择题。 相关知识 为了完成本关任务&#xff0c;你需要掌握&#xff1a;1.什么是集成学习。 什么是集成学习 集成学习方法是一种常用的机器学习方法&#xff0c;分为b…

Unity 遮罩

编辑器版本 2017.2.3f1 学习Unity的三张遮罩方式 1. Mask 遮罩方式 首先&#xff0c;在界面上创建2个Image&#xff0c;一个命名Img_Mask,大小设置 400* 400&#xff0c; 一个命名Img_Show,大小设置500*500。 然后&#xff0c;给 Img_Mask添加Mask,选择Img_Mask,点击Add Com…

面试算法-170-二叉树的最大深度

题目 给定一个二叉树 root &#xff0c;返回其最大深度。 二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。 示例 1&#xff1a; 输入&#xff1a;root [3,9,20,null,null,15,7] 输出&#xff1a;3 解 class Solution {public int maxDepth(TreeNod…

卷积运算及实现

本文介绍卷积运算及实现。 1.定义 线性时不变系统的输出是输入样本与系统的冲激响应的卷积。这里假设输入样本为x(n)&#xff0c;系统冲激响应为h(n)&#xff0c;系统输出为y(n)&#xff0c;则 线性卷积计算过程包含以下4个步骤&#xff1a; 1)折叠&#xff0c;关于l0&#…

The C programming language (second edition,KR) exercise(CHAPTER 2)

E x c e r c i s e 2 − 1 Excercise\quad 2-1 Excercise2−1&#xff1a;输出结果如图1和图2所示&#xff0c;这道练习题需要文章1和文章2的知识。 #include <stdio.h> #include <limits.h>float getFloat(char sign, unsigned char exp, unsigned mantissa); do…

抖音小店无货源怎么做?新型无货源玩法,帮商家躲避无货源处罚!

大家好&#xff0c;我是电商糖果 关于现在抖店的商家&#xff0c;是谈“无货源”色变&#xff0c;被平台罚怕了。 动不动就是扣分&#xff0c;扣2000的保证金&#xff0c;商家是苦不堪言。 又不舍得放弃抖音小店现在热度和风口。 糖果做抖音小店无货源有四年时间了&#xf…

WritableComparable排序案例实操

文章目录 WritableComparable排序概述第一个案例需求&#xff08;全排序&#xff09;代码实现结果分析 第二个案例需求&#xff08;二次排序&#xff09;问题分析和代码结果分析 第三个案例需求&#xff08;区内排序&#xff09;需求分析代码实现结果分析 WritableComparable排…

材料物理 笔记-5

原内容请参考哈尔滨工业大学何飞教授&#xff1a;https://www.bilibili.com/video/BV18b4y1Y7wd/?p12&spm_id_frompageDriver&vd_source61654d4a6e8d7941436149dd99026962 或《材料物理性能及其在材料研究中的应用》&#xff08;哈尔滨工业大学出版社&#xff09; 半…

激光测距漫反射板

激光测距漫反射板是一种重要的光学元件&#xff0c;广泛应用于工业测量、自动化控制、机器人导航等领域。自动驾驶技术的发展日新月异&#xff0c;其中激光测距技术在自动驾驶车辆中发挥着至关重要的作用。而激光测距反射板作为激光测距的关键组件之一&#xff0c;其性能和应用…

基于RKNN的YOLOv5安卓Demo

1.简介 基于RKNPU2 SDK 1.6.0版的安卓YOLOv5演示应用程序&#xff0c;选择图片进行对象检测并显示识别结果。 GitHub源码地址&#xff1a;https://github.com/shiyinghan/rknn-android-yolov5 2.实现过程 参考RKNN官方库RKNN Model Zoo提供的YOLOv5对象检测demo&#xff0c…

短袖怎么选质量好?5款质量好的短袖T恤

最近天气逐渐开始变热了&#xff0c;不少朋友都在考虑选什么短袖比较好。由于现在市面上的短袖品牌实在太多&#xff0c;并且还有很多做工差、面料不好的短袖混杂在其中&#xff0c;让大家挑选短袖十分困难。为此我特意进行了一次短袖测评&#xff0c;总结出几点选购方法&#…