文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

vue.js中Router嵌套路由怎么用

2023-06-25 11:41

关注

小编给大家分享一下vue.js中Router嵌套路由怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

项目结构如下:

vue.js中Router嵌套路由怎么用

我们创建了3个组件,分别是Home.vueHomeNews.vueHomeMessage.vue代码如下:

Home.vue

<template>  <div class="home">    <h2>Home</h2>    <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.js中Router嵌套路由怎么用

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

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.js中Router嵌套路由怎么用

以上是“vue.js中Router嵌套路由怎么用”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网行业资讯频道!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯