【问题标题】:Vue-router nested route not loading my component pageVue-router嵌套路由未加载我的组件页面
【发布时间】:2020-01-07 13:01:36
【问题描述】:

我正在使用 Vue-router 并且我需要使用嵌套路由,所以我做了什么我写了 Children Key word 以引用子组件页面,所以我的问题是当我点击链接我当前的 URL 替换为嵌套路由并带有ID但不加载我的组件,当我将Router-Linke更改为另一个未嵌套的组件时,它将加载组件,所以我问我的错误是什么?

route.js

{
        path: '/targets',
        name: 'target',
        component: () =>
            import ( /* webpackChunkName: "target" */ '@/views/admin/Target.vue'),
            meta: {
                middleware: [
                    auth
                ],
                title: "Targets"
            },
            children:[
                {
                    path: '/targets/:id/details',
                    name: 'target-details',
                    props: true,
                    component: () =>
                        import ( /* webpackChunkName: "target" */ '@/views/admin/TargetDetails.vue'),
                        meta: {
                            middleware: [
                                auth
                            ],
                            title: "TargetDetails"
                        }
                },
            ]
    },

目标.vue

<template>
<div>
 <li class="clearfix" v-for="domain in domains" :key="domain.domain_id">{{ domain.domain }} 
                            <router-link class="more" 
                                :to="{ 
                                        name: 'target-details', 
                                        params: { 
                                            id: domain.domain_id 
                                        } 
                                    }"  >Target details <i class="fa fa-angle-right"></i>
                            </router-link>
                        </li>
</div>
</template>

TargetDetails.vue

<template>
   <div class="page-output">
      <h1>Target Details</h1>
   </div>
</template>

【问题讨论】:

    标签: javascript vue.js single-page-application vue-router


    【解决方案1】:

    Nested routes 旨在方便组件嵌套(看第一张“图片”)

    您需要在您的target.vue 组件中包含&lt;router-view&gt;...

    如果您不想在target.vue 中呈现TargetDetails.vue 的内容,请不要使用children 配置并改为创建target.vue 顶级路由。

    【讨论】:

    • 感谢@Michal Lev`y 问题已解决,我删除了Children 关键字
    猜你喜欢
    • 2021-04-27
    • 2017-08-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-03
    • 2019-08-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多