账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    vue 组件切换的时候,第一次点击可以加载出来,在同级之间点击就会空白
    30
    0
    我的目录结构是这样的..
    • views

      • home.vue

        • systerm 文件夹

          • systerm.vue <router-view />
          • A 文件夹

            • A.vue <router-view />
            • A1文件夹

              • page1.vue
            • A2文件夹

              • page2.vue
          • B 文件夹

            • page3.vue
          • C 文件夹

            • page4.vue
          • D 文件夹

            • page5.vue
          • E 文件夹

            • page6.vue <router-view />
            • E1 文件夹

              • page7.vue
            • E2 文件夹

              • page8.vue
    • app.vue <router-view />
    问题是:
    page1, page2会渲染在A.vue上,当第一次点击进入的时候,是可以显示组件的,但是page1, page2之间切换就会空白加载不出来.E文件夹同理.如果从其他比如page3再次切入page1, page2的时候,可以显示组件.
    但是page3, page4, page5, page6等其他页面同级切换不会出现这样的情况..只有再次嵌套的组件才会出现这样的问题..
    目录结构必须这样, Router也是这样写的..不可更改

    请问各位大神,这是什么问题呀~~

    home.vue
    <template>
      <div id="home">
          <a-layout>
              <a-layout-sider class="sider" width="256px">
                  <side-bar />
              </a-layout-sider>
              <a-layout>
                    <a-layout-header class="layoutHeader">
                        <headerNav />
                    </a-layout-header>
                    <a-layout-content class="layoutContent">
                        <multi-tab></multi-tab>
                        <transition name="page-transition">
                            <router-view />
                        </transition>
                    </a-layout-content>
              </a-layout>
          </a-layout>
      </div>
    </template>
    systerm.vue
    <template>
        <div>
            <layout ref="layout"/>
            <div class="each-content" :style="{minHeight: height + 'px'}"><router-view /></div>
        </div>
    </template>
    A.vue
    <template>
        <div>
            <router-view></router-view>
        </div>
    </template>
    E.vue
    <template>
        <div>
            <router-view />
        </div>
    </template>
    部分路由
    {
        path: '/systerm/agent',
        name: 'agent',
        component: () => import('views/systerm/agent'),
        children: [
            {
                path: '/systerm/agent/agential',
                name: 'agential',
                component: () =>import('views/systerm/agent/agential'),
            },
            {
                path: '/systerm/agent/agent-user',
                name: 'agent-user',
                component: () =>import('views/systerm/agent/user'),
            }
        ]
    },
    {
        path: '/systerm/community',
        name: 'community',
        component: () => import('views/systerm/community'),
        children: [
            {
                path: '/systerm/community/manange',
                name: 'community-manange',
                component: () => import('views/systerm/community/manange'),
            },
            {
                path: '/systerm/community/user',
                name: 'community-user',
                component: () => import('views/systerm/community/user'),
            }
        ]
    },
    0
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 10 元积分
        全部回答
    • 0
    • 淚了 普通会员 1楼

      这个问题可能有多种原因,以下是一些可能的解决方案:

      1. 初始化的问题:你可能在某个时刻(例如在组件加载后)初始化了这个组件,这可能会导致组件没有正确地加载。确保在组件首次渲染时进行初始化。

      2. 依赖注入的问题:如果在组件中使用了依赖注入,那么可能是在组件挂载时依赖注入的组件还没有被创建。你可以在组件的构造函数中初始化依赖注入的组件。

      3. 状态管理的问题:如果组件的状态被共享,那么在同级之间点击时,可能是因为状态没有正确地更新。在组件的渲染函数中,你应该更新组件的状态。

      4. CSS样式的问题:如果你的组件在CSS中使用了特定的样式,那么在同级之间点击时,可能是因为这些样式没有正确地应用。

      5. JavaScript代码的问题:如果你的JavaScript代码有问题,那么在同级之间点击时,可能是因为你的代码没有正确地更新状态。

      你可以使用浏览器的开发者工具来检查这些问题。你可以尝试清除浏览器缓存和cookies,或者使用开发者工具的控制台来查看组件的状态和渲染函数的输出。

      如果你无法找到问题的原因,那么你可能需要寻求更多的帮助,例如向你的同事或在线社区寻求帮助。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部