Web Vue IX

news/2024/4/30 19:22:23/文章来源:https://blog.csdn.net/letterljhx/article/details/126860642

Web Vue IX

Vue CLI的嵌套路由

1.关于嵌套路由

● 在实际应用开发中,页面的内容呈现可能存在巨大的差异,例如:
在这里插入图片描述
在这里插入图片描述
● 由于Vue CLI工程是单页面的,为了保证能显示各式各样的页面,则需要
将页面的整个区域都设计为,然后根据URL不同,加载不
同的视图组件(.vue文件)。

● 但是,即使将整个页面的显示区域作为一个,多个页面仍
可能存在共用的部分,例如:
在这里插入图片描述
● 如果要设计为以上风格,则页面中的右侧最大的区域也必须是一个
,就会形成最外部(页面所有部分)是的
同时,内部还有一个(右侧的大区域),在配置路由时,
就需要使用到嵌套路由的做法了。
● 当然,如果以上设计风格中右侧区域中仍有各页面均显示的部分,还可以
继续在其内部进行嵌套,通常,并不建议嵌套太多层次。

2.嵌套路由的使用方式

● 在router/index.js中,传统路由的配置大致是:

const routes = [
{
path: '/'
,
component: HomeView
},
{
path: '/about'
,
component: () => import('../views/AboutView.vue')
}
];

● 而嵌套路由则需要在原路由的某对象中添加children属性,此属性仍是一
个数组,其内部的配置方式与routes常量是相同的,例如:

const routes = [
{
path: '/admin',
component: () => import('../views/AdminView.vue'),
children: [
{
path: 'user/list'
component: () => import('../views/admin/UserListView.vue')
},
{
path: 'user/add-new'
component: () => import('../views/admin/UserAddNewView.vue')
}
]
}
];

● 提示:以上children下的配置中,各path没有使用/作为第1个字符,则表
示在父级路径的基础上增加,例如配置为user/list,由于父级配置了
/admin,则完整路径为/admin/user/list。

● 另外,如果希望访问子级嵌套的视图(例如以上/admin对应的视图)时
就打开某个其子级视图(例如以上/admin/user/list对应的视图),在配
置存在子级的视图(例如以上/admin对应的视图)时,还可以添加
redirect属性,使其直接重定向到子级视图,例如:

const routes = [
// 省略前序代码
{
path: '/admin',
redirect: '/admim/user/list',
component: () => import('../views/AdminView.vue'),
children: [
// 省略子级代码
]
}
];

3.设计带嵌套路由的多个视图

● 【需求】
– 需要1个登录页面(不关注内容,使用简单的文本表示此页面即可)
– 需要后台管理界面,是上下结构的,其中,下半部分再分为左右结构(如前序的示例
图),左侧为菜单,右侧为菜单项对应的内容,要求至少有2个菜单项是可点击并在
右侧显示不同的内容
– 默认即打开登录页,为便于演示,在登录页中添加按钮或链接,点击后可跳转到后台
管理界面
– 未说明的部分可自行设计,或对页面进行深度设计

● 【分析】
– App.vue中只需要1个即可,也就是它并不负责显示任何内容
– 在views下创建LoginView.vue用于显示登录页面,内容使用一段简单的文本即可
– 本次练习的重点并不是登录页面的设计,当然你也可以直接把前序练习的代码复制到此
处 – 在views下创建AdminView.vue用于显示后台管理界面,在此界面中确定上下结构,
及下半部分为左右结构
– 具体的实现可参考Element UI官网文档的Container布局容器和NavMenu导航菜单

● 【分析】
– 在views下创建admin文件夹,并在此文件夹下创建UserListView.vue和
UserAddNewView.vue,分别显示用户列表和增加用户,内容依然使用一段简单的
文本即可
– 由于本次练习涉及的页面较少,并不一定需要使用多层级文件夹管理若干个.vue文件,
如果涉及的页面较多,应该根据页面的定位、数量创建若干层次文件夹来管理 – 在router/index.js中,一级的路由只有LoginView.vue与AdminView.vue,在配置
AdminView.vue时,通过children属性配置子级的UserListView.vue和
UserAddNewView.vue,且AdminView.vue的路径将重定向到UserListView.vue

● 步骤1:基于vue-project-preset复制出新的工程vue-project-05,并在
配置文件中修改必要参数(工程名称等)
● 步骤2:将App.vue中的

在这里插入图片描述
● 步骤14:当然,登录页也会居中
在这里插入图片描述
● 步骤15:其它细节调整:页面的标题栏一直没有设置,在实际开发时,各
页面的标题栏显示的文本可能是不同的,可通过Vue CLI的路由守卫及元
数据实现,在router/index.js中,配置每个路由信息时,可以添加meta
元数据,在这里设置标题文字,路由守卫可在发生路由跳转时执行特定的
操作,例如全局前置守卫就可以在每次路由跳转之前执行,在此时设置标
题文本即可
● 步骤15:代码示例:
在这里插入图片描述
● 步骤15:代码示例
在这里插入图片描述
● 步骤15:以上路由守卫的代码为:

router.beforeEach((to, from, next) => {
if (to.meta.title) {
document.title = to.meta.title
}
next()
})

● 完成后,在浏览器中可以看到各页面均显示了在meta中的title值

我是将军;我一直都在,。!

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

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

相关文章

贤鱼的刷题日常--海战

🏆今日学习目标: 🍀学习了解sql注入漏洞 ✅创作者:贤鱼 ⏰预计时间:15分钟 🎉个人主页:贤鱼的个人主页 🔥专栏系列:c 海战题目思路AC代码题目 小理最近痴迷于航海游戏&a…

AI深度学习入门与实战06 线性回归模型:在问题中回顾与了解基础概念

学到这里相信你已经了解了深度学习,知道该如何训练模型、如何评估模型,并且掌握了一种叫作人工神经网络的算法。正所谓温故而知新,这节课我会通过一个线性回归模型将前面的知识串起来,做一个完整的回顾。 线性回归是一个最基本的…

【牛客刷题--SQL篇】基础查询 SQL3查询结果去重SQL4查询结果限制返回行数SQL5将查询后的列重新命名

个人主页:与自己作战 牛客刷题系列篇:【SQL篇】【Python篇】【Java篇】 推荐刷题网站注册地址:【牛客网–SQL篇】 推荐理由:从0-1起步,循序渐进 文章目录一、基础查询1、基础查询1.1 SQL3 查询结果去重1.2 SQL4查询结果限制返回行…

Go设计模式学习准备——下载bilibili合集视频

需求 前段时间面试,被问到设计模式。说实话虽然了解面向对象、多态,但突然被问到设计模式,还要说清解决什么问题,自己是有些懵的,毕竟实习主要工作是在原项目基础进行CRUD,自己还是没有深度思考,所以只能简单介绍自己知道的简单工厂模式等。趁着回家这段假期,充电学习一…

VS2022编译错误:链接器工具错误 LNK2005

产生原因 自己在学习namespace时,参照C++ plus一书写了基本相同的代码,分别定义了h文件和两个CPP文件,其中一个CPP用来定义变量,一个CPP用来跑main(void)。文件代码如下: head.h文件 #pragma once #include<string> #include <iostream>namespace pers {struc…

对于在网页中实现数据库数据的遍历

基于套用了网站模板,然后连接了数据库 具体实现如下:1、定义一个实体类Uesr package org.example;public class User {private String name;private String id;private String teacher;private String whe;public void setName(String name){this.name=name;}public String g…

【ES6丨前端进阶基础 】ES6的关键字,新特性以及解构赋值

&#x1f482; 个人主页&#xff1a;Aic山鱼 个人社区&#xff1a;山鱼社区 &#x1f4ac; 如果文章对你有所帮助请点个&#x1f44d;吧!欢迎关注、点赞、收藏(一键三连)和订阅专目录 前言 什么是ecmascrpit 一&#xff0c;let关键字的特点 1.不能重复声明变量 2.块级作用…

【持久层框架】- SpringData - JPA

SpringData - JPA &#x1f604;生命不息&#xff0c;写作不止 &#x1f525; 继续踏上学习之路&#xff0c;学之分享笔记 &#x1f44a; 总有一天我也能像各位大佬一样 &#x1f3c6; 一个有梦有戏的人 怒放吧德德 &#x1f31d;分享学习心得&#xff0c;欢迎指正&#xff0c;…

图解mysql(六)——内存篇

6 揭开Buffer Pool的面纱 6.1 为什么要有Buffer Pool&#xff1f; 虽然说 MySQL 的数据是存储在磁盘里的&#xff0c;但是也不能每次都从磁盘里面读取数据&#xff0c;这样性能是极差的。 要想提升查询性能&#xff0c;加个缓存就行了嘛。所以&#xff0c;当数据从磁盘中取出…

基于BootStrap的农业信息数据收集与管理平台设计

目 录 1 前言 1 1.1 研究背景 1 1.2 研究内容 1 1.3 研究意义 1 1.4 本论文工作和章节内容 2 2 系统环境与技术支持 3 2.1 系统环境 3 2.2 B/S架构 3 2.3 服务端技术 3 2.3.1 MVC模式 3 2.3.2 Spring框架 4 2.3.3 Hibernate框架 4 2.3.4 MySQL数据库 5 2.4 前端技术 5 2.4.1 Bo…

基于JavaWeb的企业出差费用报销管理系统设计与实现

目录 第一章 绪论 1 1.1 出差报销管理系统的开发背景 1 1.2设计目的与意义 1 第二章 系统需求分析 2 2.1 可行性分析 2 2.1.1 操作可行性 2 2.1.2 经济可行性 2 2.1.3 技术可行性 2 2.2方案的设计与比较 2 2.2.1 C/S设计结构和B/S设计结构比较 2 2.2.2 系统模式的设计 3 2.2.3系…

大二数据库实验-MySQL语句(Employee、Department、Salary)

实验所用到的的几张表&#xff1a; 显示Employee表中姓王的记录。 显示salary 表中InCome大于2000的数据。 显示salary 表中InCome在2500到3000之间的数据。 显示Employee表中在1968年下半年出生的数据。 分别显示三个表中总记录条数。 显示salary表中收入和支出总…

(附源码)计算机毕业设计ssm财务管理系统

毕设帮助&#xff0c;指导&#xff0c;本源码分享&#xff0c;调试部署(见文末) 3.2.1系统开发流程 财务管理系统开发时&#xff0c;首先进行需求分析&#xff0c;进而对系统进行总体的设计规划&#xff0c;设计系统功能模块&#xff0c;数据库的选择等&#xff0c;本系统的…

权限控制WAF绕过之木马混淆免杀

目录 前言&#xff1a; 绕过思路&#xff1a; &#xff08;一&#xff09;变量覆盖 &#xff08;二&#xff09;加密混杂 未加密前&#xff1a; 接口加密 加密后&#xff1a; WAF验证&#xff1a; &#xff08;三&#xff09;异或生成 0x01 原理&#xff1a; 0x02 适用…

线段树什么的最讨厌了

发现如果正着从一颗线段树搜到这一个区间,很难搜。所以考虑从一个区间搜出一颗线段树。 对于一个区间 \([l,r]\),他的父亲区间只可能是 \([2*l-r-2,r],[2*l-r-1,r],[l,2*r-l],[l,2*r-l-1]\) 四种情况。 发现无论往哪一种方向走,\(\frac{l}{r-l+1}\) 的值都会除以2.那么这么做…

建立对单片机/嵌入式启动、运行的整体认知

文章目录一、51单片机的启动过程二、STM32的完整启动流程分析1. 根据boot引脚决定三种启动模式2. 启动后bootloader做了什么&#xff1f;3. bootloader中对内存的搬移和初始化4. ISP、IAP、ICP三种烧录方式5. 参考资料从上电到启动&#xff0c;一文读懂STM32启动全流程1、直接上…

m基于FPGA的cordic算法实现,输出sin和cos波形(包括仿真录像)

目录 1.源码获取方式 2.算法描述 3.部分程序 4.部分仿真图预览 1.源码获取方式 使用版本matlab2022a 获取方式1&#xff1a; 点击下载链接&#xff08;解压密码C123456&#xff09;&#xff1a; m基于FPGA的cordic算法实现,输出sin和cos波形 获取方式2&#xff1a; 如…

程序员的数学课21 神经网络与深度学习:计算机是如何理解图像、文本和语音的?

在上一讲的最后&#xff0c;我们提到过“浅层模型”和“深层模型”。其实&#xff0c;人工智能的早期并没有“浅层模型”的概念&#xff0c;浅层模型是深度学习出现之后&#xff0c;与之对应而形成的概念。在浅层模型向深层模型转变的过程中&#xff0c;神经网络算法无疑是个催…

Vue2 生命周期

Vue 生命周期 概述在使用 Vue 时,我们需要执行一些 JS 代码。比如我们需要在页面中添加一个定时器来固定间隔更新时间。这时我们可能会想到直接在,Vue 实例外书写 JS 代码。这种方法能完成操作,但是 Vue 并不建议这样写。Vue 建议尽量在 Vue 实例中完成所有的操作。这时我们…

Hadoop3.X安装教程(Ubuntu)

前提:一台纯净的Ubuntu机器(虚拟机安装教程略) ctrl + alt + T 打开bash,全程使用bash指令进行,以hadoop 和 java 8为例 首先换源进入root账户 sudo su -升级软件列表 apt-get update安装vim apt install vim中途询问直接输入Y确认下载hadoop和java 创建/data mkdir /data…