处理侧边栏三层路由页面不显示问题

vue 后台管理侧边栏三层路由配置

router/index.js 文件

{
    path: "/store",
    component: Layout,
    meta: { title: "知识库管理", icon: "list"},
    children: [
      {
        path: "article",
        name: "article",
        meta: { title: "文章管理", icon: "list"},
        component: () => import("@/views/article/index"),
        children: [
          {
            path: "list",
            name: "articleList",
            component: () => import("@/views/article/list/list"),
            meta: { title: "文章列表", icon: "list"},
          },
          {
            path: "add",
            name: "addArticle",
            component: () => import("@/views/article/add/add"),
            meta: { title: "新增文章", icon: "list"},
          }
        ]
      }
    ]
  },

上面侧边栏路由下有children ,children下面还有children ,这样直接配置页面不会显示页面内容
这里是这个路由对应的页面布局
index.vue 代码如下:

<template>
  <el-alert :closable="false">
      <router-view />
  </el-alert>
</template>
<style lang="scss" scoped>
.el-alert--info.is-light {
    background: #fff;
}
</style>

这样配置后,其余页面都可正常显示,嵌套路由。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue侧边栏实现动态路由可以通过以下步骤来实现: 1. 首先,在Vue项目中安装Vue Router插件,可以使用npm或者yarn进行安装。 2. 创建一个路由配置文件,例如router.js,用于定义路由和对应的组件。 3. 在router.js中,使用Vue Router提供的`routes`选项来定义路由。每个路由对象包含路径(path)和对应的组件(component)。 4. 在侧边栏组件中,使用Vue Router提供的`<router-link>`组件来生成导航链接。可以通过`to`属性指定链接的路径。 5. 在主页面组件中,使用Vue Router提供的`<router-view>`组件来显示当前路由对应的组件。 6. 动态路由的实现可以通过在路由配置文件中使用动态路径参数来实现。例如,可以使用`:`来定义动态路径参数,然后在组件中通过`$route.params`来获取参数的值。 下面是一个简单的示例代码: ```javascript // router.js import Vue from 'vue'; import VueRouter from 'vue-router'; Vue.use(VueRouter); const routes = [ { path: '/', component: Home }, { path: '/about', component: About }, { path: '/user/:id', component: User } ]; const router = new VueRouter({ routes }); export default router; ``` ```html <!-- Sidebar.vue --> <template> <div> <router-link to="/">Home</router-link> <router-link to="/about">About</router-link> <router-link :to="'/user/' + userId">User</router-link> </div> </template> <script> export default { data() { return { userId: 1 }; } }; </script> ``` ```html <!-- App.vue --> <template> <div> <sidebar></sidebar> <router-view></router-view> </div> </template> <script> import Sidebar from './Sidebar.vue'; export default { components: { Sidebar } }; </script> ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值