热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

嵌套路由(子路由)——vue路由(二)

在前端开发中,首页是一个组件,通过路由可以切换到此URL,假如在“首页”组件中,还嵌套着“登录”和“注册”两个组件。此时就需

在前端开发中,首页是一个组件,通过路由可以切换到此URL,假如在“首页”组件中,还嵌套着 “登录”和 “注册”两个组件。此时就需要使用到嵌套路由(子路由)。所谓的嵌套路由就是在一个被路由过来的页面下可以继续使用路由,是路由中的路由。以下就以一个示例说明嵌套路由的使用。
】在网站中包含首页和关于两个组件,登录页面又包含登录和注册两个组件,进入系统时默认进入首页,点击登录切换到登录页面,点击注册切换到注册页面。

  1. 新建views文件夹,并在该文件夹中新建Home.vue、About.vue、login.vue、reg.vue四个文件,代码如下:
    about.vue代码如下:

<template><div>这是关于组件</div>
</template><script>
export default {name: &#39;about&#39;
}
</script><style scoped>
</style>

login.vue代码如下&#xff1a;

<template><div style&#61;"border:1px solid orange;color:orange;"><h3>登录页面</h3></div>
</template><script>
export default {name: &#39;login&#39;
}
</script><style>
</style>

register.vue代码如下&#xff1a;

<template><div style&#61;"border:1px solid orange;color:orange;"><p>注册界面&#xff1a;这是另一个嵌套路由的内容</p><h3>注册界面</h3></div>
</template><script>
export default {name: &#39;register&#39;
}
</script><style>
</style>

home.vue组件

<template><div style&#61;"border:1px solid red;color:red;"><p>这是父路由home对应的组件页面</p><router-link to&#61;"/home/login">登录</router-link><router-link to&#61;"/home/register">注册</router-link><p>以下是home下子组件显示内容</p><router-view></router-view></div>
</template><script>
export default {name: &#39;home&#39;
}
</script><style>
</style>

在home组件中包括登录和注册两个组件&#xff0c;注意“router-link to&#61;”的写法&#xff0c;一定要加对应的路径。是子组件将要替换的显示位置。

  1. 添加路由文件&#xff1a;在router目录下&#xff0c;创建index.js文件&#xff0c;其代码如下

//第一步&#xff1a;引用vue和vue-router &#xff0c;Vue.use&#xff08;VueRouter&#xff09;
import Vue from &#39;vue&#39;
import Router from &#39;vue-router&#39;//第二步&#xff1a;引用定义好的路由组件
import home from &#39;&#64;/view/rotuerView/home&#39;
import login from &#39;&#64;/view/rotuerView/login.vue&#39;
import register from &#39;&#64;/view/rotuerView/register.vue&#39;
import about from &#39;&#64;/view/rotuerView/about.vue&#39;Vue.use(Router)
export default new Router({mode:&#39;hash&#39;,routes: [{path: &#39;/&#39;, //默认根目录name: &#39;home&#39;,component: home,children: [{ //子目录&#xff0c;注意子目录路径包括父组件路径path: &#39;/home/login&#39;,name:&#39;login&#39;,component: login,},{path: &#39;/home/register&#39;,name: &#39;register&#39;,component: register,},],},{path: &#39;/about&#39;,name: &#39;about&#39;,component: about},]
})

在路由器类中&#xff0c;home组件被确认为默认打开url&#xff0c;home子组件的path需要带渲染路径。

  1. 通过修改main.js&#xff0c;将router对象挂载到app下&#xff0c;代码如下

import Vue from &#39;vue&#39;
import App from &#39;./App&#39;
import router from &#39;./router&#39; //引入router文件new Vue({el: &#39;#app&#39;,router, //挂载到vue实例上components: { App },template: &#39;&#39;
})

  1. 修改app.vue&#xff0c;在页面中增加连接和路由窗口&#xff0c;代码如下&#xff1a;

<template><div id&#61;"app"><img src&#61;"./assets/logo.png"><router-link to&#61;"/">首页</router-link><router-link to&#61;"about">关于</router-link><router-view></router-view></div>
</template>
<script>export default {name: &#39;App&#39;}
</script><style>
</style>

  1. 运行&#xff0c;点击首页、切换登录和注册&#xff0c;运行结果如下&#xff1a;

在这里插入图片描述


推荐阅读
  • 本文讨论了将HashRouter改为Router后,页面全部变为空白页且没有报错的问题。作者提到了在实际部署中需要在服务端进行配置以避免刷新404的问题,并分享了route/index.js中hash模式的配置。文章还提到了在vueJs项目中遇到过类似的问题。 ... [详细]
  • vue使用
    关键词: ... [详细]
  • VueCLI多页分目录打包的步骤记录
    本文介绍了使用VueCLI进行多页分目录打包的步骤,包括页面目录结构、安装依赖、获取Vue CLI需要的多页对象等内容。同时还提供了自定义不同模块页面标题的方法。 ... [详细]
  • 单页面应用 VS 多页面应用的区别和适用场景
    本文主要介绍了单页面应用(SPA)和多页面应用(MPA)的区别和适用场景。单页面应用只有一个主页面,所有内容都包含在主页面中,页面切换快但需要做相关的调优;多页面应用有多个独立的页面,每个页面都要加载相关资源,页面切换慢但适用于对SEO要求较高的应用。文章还提到了两者在资源加载、过渡动画、路由模式和数据传递方面的差异。 ... [详细]
  • 一、路由首先需要配置路由,就是点击good组件进入goodDetail组件配置路由如下{path:goodDetail,component:goodDetail}同时在good组件中写入如下点击事件,路由中加入 ... [详细]
  • Webpack5内置处理图片资源的配置方法
    本文介绍了在Webpack5中处理图片资源的配置方法。在Webpack4中,我们需要使用file-loader和url-loader来处理图片资源,但是在Webpack5中,这两个Loader的功能已经被内置到Webpack中,我们只需要简单配置即可实现图片资源的处理。本文还介绍了一些常用的配置方法,如匹配不同类型的图片文件、设置输出路径等。通过本文的学习,读者可以快速掌握Webpack5处理图片资源的方法。 ... [详细]
  • 本文讨论了为什么在main.js中写import不会全局生效的问题,并提供了解决方案。在每一个vue文件中都需要写import语句才能使其生效,而在main.js中写import语句则不会全局生效。本文还介绍了使用Swal和sweetalert2库的示例。 ... [详细]
  • 本文介绍了如何使用vue-awesome-swiper组件,包括在main.js中引入和使用swiper和swiperSlide组件,以及设置options和ref属性。同时还介绍了如何在模板中使用swiper和swiperSlide组件,并展示了如何通过循环渲染swipes数组中的数据,并使用picUrl属性显示图片。最后还介绍了如何添加分页器。 ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • Java程序设计第4周学习总结及注释应用的开发笔记
    本文由编程笔记#小编为大家整理,主要介绍了201521123087《Java程序设计》第4周学习总结相关的知识,包括注释的应用和使用类的注释与方法的注释进行注释的方法,并在Eclipse中查看。摘要内容大约为150字,提供了一定的参考价值。 ... [详细]
  • uniapp开发H5解决跨域问题的两种代理方法
    本文介绍了uniapp开发H5解决跨域问题的两种代理方法,分别是在manifest.json文件和vue.config.js文件中设置代理。通过设置代理根域名和配置路径别名,可以实现H5页面的跨域访问。同时还介绍了如何开启内网穿透,让外网的人可以访问到本地调试的H5页面。 ... [详细]
  • VUE中引用路径的配置
    在vue项目开发中经常引用JS、CSS、IMG文件。当项目较大时文件层级很多,导致路径很长,我们可以通过在bulidwebpack.base.conf.js设置简便的引用路径一、 ... [详细]
  • npmrunbuild后dist文件夹下面直接浏览器打开index.html,css和js的路径都不正确。放到跟目录下就正常了,iis上同样只能在根目录下。我项目的目录如下: ... [详细]
author-avatar
手机用户2602889447
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有