vue 路由嵌套_vue路由实现方式

vue 路由嵌套_vue路由实现方式嵌套路由有时候在路由中,主要的部分是相同的,但是下面可能是不同的。比如访问首页,里面有新闻类的/home/news,还有信息类的/home/message。这时候就需要使用到嵌套路由。项目结构如下:

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

嵌套路由

有时候在路由中,主要的部分是相同的,但是下面可能是不同的。比如访问首页,里面有新闻类的/home/news,还有信息类的/home/message。这时候就需要使用到嵌套路由。项目结构如下:
vue 路由嵌套_vue路由实现方式
我们创建了3个组件,分别是Home.vueHomeNews.vueHomeMessage.vue,代码如下:

Home.vue

<template>
  <div class="home">
    <h1>Home</h1>
    <router-link to="/home/news">新闻类</router-link>  // 注意这里一定要写完整路径不能只写/news,需要加上/home
    <router-link to="/home/message">信息类</router-link>
    <router-view></router-view>
  </div>
</template>

<script>

export default {
  name: "Home",
};
</script>

<style scoped>

</style>

HomeNews

<template>
  <div class="homeNews">
    <ul>
      <li>新闻1</li>
      <li>新闻2</li>
      <li>新闻3</li>
      <li>新闻4</li>
    </ul>
  </div>
</template>

<script>
export default {
  name: "HomeNews"
}
</script>

<style scoped>

</style>

HomeMessage

<template>
  <div class="homeMessage">
    <ul>
      <li>消息1</li>
      <li>消息2</li>
      <li>消息3</li>
      <li>消息4</li>
    </ul>
  </div>
</template>

<script>
export default {
  name: "HomeMessage"
}
</script>

<style scoped>

</style>

组件写完以后,我们在router文件夹下的index.js文件中配置路由

import Vue from "vue";
import VueRouter from "vue-router";

Vue.use(VueRouter);

// 这里还是使用路由懒加载
const Home = () => import('../views/Home')
const HomeNews = () => import('../views/HomeNews')
const HomeMessage = () => import('../views/HomeMessage')

const routes = [
  {
    path: "/home",
    name: "Home",
    component: Home,
    // 子路由的写法
    children: [
      {
        path: "news",
        name: "HomeNews",
        component: HomeNews
      },
      {
        path: "message",
        name: "HomeMessage",
        component: HomeMessage
      },
    ]
  },
  {
    path: "",
    redirect: "home"
  }
];

const router = new VueRouter({
  routes,
  mode: 'history',
});

export default router;

嵌套路由的写法很简单,你会发现,children 配置就是像 routes 配置一样的路由配置数组,所以呢,你可以嵌套多层路由。

此时,基于上面的配置,当你访问 /home/时,home 的出口是不会渲染任何东西。
vue 路由嵌套_vue路由实现方式

这是因为没有匹配到合适的子路由。如果你想要渲染点什么,可以提供一个 空的 子路由:

const routes = [
  {
    path: "/home",
    name: "Home",
    component: Home,
    children: [
      {
        path: "news",
        name: "HomeNews",
        component: HomeNews
      },
      {
        path: "message",
        name: "HomeMessage",
        component: HomeMessage
      },
      // 新增空的子路由
      {
        path: "",
        redirect: "news"
      }
    ]
  },

  {
    path: "",
    redirect: "home"
  }
];

这样页面就默认会重定向到news页面,会展示news的信息
vue 路由嵌套_vue路由实现方式

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/165721.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 数字电路实验(一)——译码器

    数字电路实验(一)——译码器1、实验步骤:异或门过程1、 新建,编写源代码。(1).选择保存项和芯片类型:【File】-【newprojectwizard】-【next】(设置文件路径+设置projectname为【C:\Users\lenovo\Desktop\笔记\大二上\数字电路\实验课\实验一\异或门】)-【next】(设置文件名【gg】)-【next】(设置芯片类型为【cyclone-EP1CT144C…

  • 在线作图|2分钟做Lefse分析「建议收藏」

    在线作图|2分钟做Lefse分析「建议收藏」​Lefse分析Lefse(LDAEffectSize)分析是一种用于发现和解释高维度数据的基因、通路和分类单元相关等生物标识的分析工具,通常可以进行两个或多个分组的比较,能够找出组与组之间有差异的生物标识。在微生物多样性分析中,Lefse可用来分析微生物的组间差异,如菌群差异等等。TUTUCLOUD云平台提供在线做Lefse分析的工具,可获得LDA值分布柱状图以及特征表。TUTU网站工具使用小编给大家介绍一个在线作图工具,lefse分析方法如下:①登录网址:www.cloudtutu.com

  • describing people听力原文_你美国也配谈道德

    describing people听力原文_你美国也配谈道德  美国著名公司PeopleSoft,名字也代表旗下的一系列ERP产品,一系列的解决方案,有一整套的开发工具,04年被oracle以103亿美元收购。 在某银行的CRM,EPM项目中有幸认识Michaelzhou,非常感谢他的帮助,使我认识到底什么才是PeopleSoft,暂且不说PeopleSoft的产品有多好,本文仅讨论PeopleSoft的开发模式。 

  • 360天擎默认卸载密码_Debian(Ubuntu/Kali)下wine的从安装、使用和卸载「建议收藏」

    360天擎默认卸载密码_Debian(Ubuntu/Kali)下wine的从安装、使用和卸载「建议收藏」安装wine1、安装wine32因为32位的wine可以运行32位和64位的应用程序,而64位的只能运行64位程序而在我修改这篇文章的时候,wine5.0已经出了,亲测这种方法安装的就是5.0版本的打开终端,依次执行sudodpkg–add-architecturei386sudoaptupdatesudoaptinstallwine如果安装过程有错误提示,一般按着提示输入命令…

  • CDMA向量内积的计算[通俗易懂]

    CDMA向量内积的计算[通俗易懂]CDMA向量内积的计算在平面坐标上,有A点和B点,A点坐标是(x1,y1),B点坐标是(x2,y2)。![图1](https://img-blog.csdnimg.cn/20200303134826109.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNz…

  • CV2模块使用(详细教程)

    CV2模块使用(详细教程)

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号