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嵌套路由怎么定义

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

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/165375.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Linux 操作系统基础知识总结

    Linux 操作系统基础知识总结1、操作系统总体介绍CPU:就像人的大脑,主要负责相关事情的判断以及实际处理的机制。查询指令:cat/proc/cpuinfo内存:大脑中的记忆区块,将皮肤、眼睛等所收集到的信息记录起来的地方,以供CPU进行判断。查询指令:cat/proc/meminfo1)物理内存物理内存,就是我们将内存条插在主板内存槽上的内存条的容量的大小。看计算机配置的时候,主要看的就是这个物理内存2)虚拟内存Windows中运用了虚拟内存技术,即拿出一部分硬盘空间来充当内存使用,当内存占用完时,电脑就会

    2025年6月26日
    0
  • 码流 / 码率 / 比特率 / 帧速率 / 分辨率的区别[通俗易懂]

    码流 / 码率 / 比特率 / 帧速率 / 分辨率的区别[通俗易懂]码流/码率/比特率/帧速率/分辨率/高清的区别2015年03月13日10:40:30阅读数:143980GOP/ 码流/码率/比特率/帧速率/分辨率 GOP(Groupofpicture)      关键帧的周期,也就是两个IDR帧之间的距离,一个帧组的最大帧数,一般而言,每一秒视频至少需要使用1个关键帧。增加关键帧个数可…

    2022年5月28日
    70
  • python hashlib_python加密之hashlib[通俗易懂]

    python hashlib_python加密之hashlib[通俗易懂]1、强大的hashlib,提供了用于加密相关的操作,代替了md5模块和sha模块,主要提供SHA1,SHA224,SHA256,SHA384,SHA512,MD5算法2、hmac模块实现了hmac算法,需要一个key来进行加密,提供更为强大的加密,不过需要提供key,也就是通常说的盐3、使用hashlib.algorithms_available,可以查看hashlib提供的加密算法…

    2022年4月29日
    43
  • centos7安装php环境_docker搭建php开发环境

    centos7安装php环境_docker搭建php开发环境centos7php环境手动搭建:1.先安装apache:yum安装yuminstallhttpd进入配置文件vi/etc/httpd/conf/httpd.conf(/etc/httpd/conf/httpd.conf为配置文件位置)apache默认就是使用80端口防火墙开启80端口(一般例如在阿里云网站控制台直接开启即可)服务器常用指令:linux常用服务的启动、停止、重启操作服务/操作 启动 停止 重启apache systemctlstarthttpd开启

    2022年9月22日
    0
  • pycharm怎么设置注释颜色_pycharm调颜色

    pycharm怎么设置注释颜色_pycharm调颜色”””代码块注释”””单行注释颜色设置Preferences–>Editor–>CorlorScheme–>Python–LineComment多行注释颜色设置: 1)修改函数内部代码块说明颜色Preferences–>Editor–>CorlorScheme–>Python–Docstring–>Text2)修改多行注释颜色Preferences–>…

    2022年8月28日
    0
  • PHP 二维数组根据某个字段排序

    PHP 二维数组根据某个字段排序PHP 二维数组根据某个字段排序

    2022年4月24日
    43

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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