47. Vue使用children属性实现路由嵌套

2024-08-21 03:48

本文主要是介绍47. Vue使用children属性实现路由嵌套,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前言

前面基本演示完了vue-router的基本用法,但是当组件之间嵌套子组件,这个嵌套的路由该怎么写呢?

可能这一句话不能够直接说明情况,下面来直接看例子。

嵌套路由示例

1.首先写三个组件,一个account组件,另外两个子组件login和register

<script>        // 1. 定义 (路由) 组件。// 可以从其他文件 import 进来// 创建account组件var account = {template: "#account",}// 创建登陆组件loginvar login = {template: "<h3>登陆组件</h3>",}// 创建注册组件registervar register = {template: "<h3>注册组件</h3>",}

2.编写这三个组件的路由规则,如下:

// 2. 定义路由// 每个路由应该映射一个组件。 其中"component" 可以是// 通过 Vue.extend() 创建的组件构造器,// 或者,只是一个组件配置对象。// 我们晚点再讨论嵌套路由。var routes = [{ path: '/', redirect: '/account' },{ path: '/account', component: account },{ path: '/account/login', component: login },{ path: '/account/register', component: register },]// 3. 创建 router 实例,然后传 `routes` 配置// 你还可以传别的配置参数, 不过先这么简单着吧。var router = new VueRouter({routes, // (缩写) 相当于 routes: routeslinkActiveClass: "myactive", // 自定义选中的class})// 创建vue的实例var vm = new Vue({el: '#app',data: {},methods:{},             // 注册局部组件,注意:下面使用vue-router的话,不需要在这里注册组件components:{},// 将路由规则对象,注册到 vm 实例上,用来监听 URL 地址的变化,然后展示对应的组件router,  // 等价于 router: router})</script>

可以从上面看到,我在写regsterlogin的路由路径是/account/register/account/login,其实跟/account路由没有太大的关系。

只是简单写了个前缀而已。

3.编写组件展示的router-view

<div id="app"><router-link to="/account">Account</router-link><!-- 路由出口 --><!-- 路由匹配到的组件将渲染在这里 --><transition mode="out-in"><router-view></router-view></transition></div><template id="account"><div><h1>这是 Account 组件</h1><!-- 设置嵌套组件的跳转标签 --><router-link to="/account/login">登录</router-link><router-link to="/account/register">注册</router-link><!-- 设置嵌套组件的router-view --><router-view></router-view></div></template>

可以看到,父组件app下只能直接访问account组件,然后再通过account组件访问loginregister嵌套组件。

下面来看看效果。

4.在浏览器中点击登陆组件,确认是否在account组件下,显示登陆组件。

image-20200222223639400

实际效果如下:

image-20200222223728252

5.使用children属性,修改嵌套路由规则

image-20200222224024009
// 2. 定义路由// 每个路由应该映射一个组件。 其中"component" 可以是// 通过 Vue.extend() 创建的组件构造器,// 或者,只是一个组件配置对象。// 我们晚点再讨论嵌套路由。var routes = [{path: '/',redirect: '/account'},{path: '/account',component: account,// 使用 children 属性,实现子路由,同时,子路由的 path 前面,不要带 / ,// 否则永远以根路径开始请求,这样不方便我们用户去理解URL地址children: [{path: 'login',component: login},{path: 'register',component: register}]},]

6.在浏览器查看嵌套路由的效果

image-20200222224118563

可以看到,登陆组件是在Account组件内嵌套显示了。

当然,注册组件也是一样。这样就实现好了一个嵌套组件的效果。

image-20200222224156789

更多精彩原创Devops文章,快来关注我的公众号:【Devops社群】 吧:

image
image

这篇关于47. Vue使用children属性实现路由嵌套的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1092035

相关文章

在React中引入Tailwind CSS的完整指南

《在React中引入TailwindCSS的完整指南》在现代前端开发中,使用UI库可以显著提高开发效率,TailwindCSS是一个功能类优先的CSS框架,本文将详细介绍如何在Reac... 目录前言一、Tailwind css 简介二、创建 React 项目使用 Create React App 创建项目

vue使用docxtemplater导出word

《vue使用docxtemplater导出word》docxtemplater是一种邮件合并工具,以编程方式使用并处理条件、循环,并且可以扩展以插入任何内容,下面我们来看看如何使用docxtempl... 目录docxtemplatervue使用docxtemplater导出word安装常用语法 封装导出方

SpringBoot3实现Gzip压缩优化的技术指南

《SpringBoot3实现Gzip压缩优化的技术指南》随着Web应用的用户量和数据量增加,网络带宽和页面加载速度逐渐成为瓶颈,为了减少数据传输量,提高用户体验,我们可以使用Gzip压缩HTTP响应,... 目录1、简述2、配置2.1 添加依赖2.2 配置 Gzip 压缩3、服务端应用4、前端应用4.1 N

Linux换行符的使用方法详解

《Linux换行符的使用方法详解》本文介绍了Linux中常用的换行符LF及其在文件中的表示,展示了如何使用sed命令替换换行符,并列举了与换行符处理相关的Linux命令,通过代码讲解的非常详细,需要的... 目录简介检测文件中的换行符使用 cat -A 查看换行符使用 od -c 检查字符换行符格式转换将

SpringBoot实现数据库读写分离的3种方法小结

《SpringBoot实现数据库读写分离的3种方法小结》为了提高系统的读写性能和可用性,读写分离是一种经典的数据库架构模式,在SpringBoot应用中,有多种方式可以实现数据库读写分离,本文将介绍三... 目录一、数据库读写分离概述二、方案一:基于AbstractRoutingDataSource实现动态

Python FastAPI+Celery+RabbitMQ实现分布式图片水印处理系统

《PythonFastAPI+Celery+RabbitMQ实现分布式图片水印处理系统》这篇文章主要为大家详细介绍了PythonFastAPI如何结合Celery以及RabbitMQ实现简单的分布式... 实现思路FastAPI 服务器Celery 任务队列RabbitMQ 作为消息代理定时任务处理完整

使用Jackson进行JSON生成与解析的新手指南

《使用Jackson进行JSON生成与解析的新手指南》这篇文章主要为大家详细介绍了如何使用Jackson进行JSON生成与解析处理,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 核心依赖2. 基础用法2.1 对象转 jsON(序列化)2.2 JSON 转对象(反序列化)3.

Java枚举类实现Key-Value映射的多种实现方式

《Java枚举类实现Key-Value映射的多种实现方式》在Java开发中,枚举(Enum)是一种特殊的类,本文将详细介绍Java枚举类实现key-value映射的多种方式,有需要的小伙伴可以根据需要... 目录前言一、基础实现方式1.1 为枚举添加属性和构造方法二、http://www.cppcns.co

使用Python实现快速搭建本地HTTP服务器

《使用Python实现快速搭建本地HTTP服务器》:本文主要介绍如何使用Python快速搭建本地HTTP服务器,轻松实现一键HTTP文件共享,同时结合二维码技术,让访问更简单,感兴趣的小伙伴可以了... 目录1. 概述2. 快速搭建 HTTP 文件共享服务2.1 核心思路2.2 代码实现2.3 代码解读3.

Elasticsearch 在 Java 中的使用教程

《Elasticsearch在Java中的使用教程》Elasticsearch是一个分布式搜索和分析引擎,基于ApacheLucene构建,能够实现实时数据的存储、搜索、和分析,它广泛应用于全文... 目录1. Elasticsearch 简介2. 环境准备2.1 安装 Elasticsearch2.2 J